performance question: one vs two JVM's

J

Jan Van Lysebeth

Today I had a discussion about the performance of a J2EE e-commerce
application we are developing. Our application has two parts: a public part
and a private one. The public part consists of a product catalogue and a
shopping basket functionality and will be used by 150 concurrent users. The
private part is the back-end of the shop. It is used for administrating the
orders, the payments, the product catalogue, the invoices,... as well as
reporting to the shopmanagers. This part will only be used by 25 concurrent
users.

The application will be deployed on a cluster of two sunONE application
servers. The data-tier is a cluster of two Informix servers. We can't change
this architecture because it's the reference architecture the customer uses
for all it's applications.

I wonder if splitting up the two parts of our application and deploy them as
2 different ear-files could result in better performance. A second related
question. The older IPlanet application server could be configured to use
more than 1 JVM; can you gain performance by running an application on
multiple JVM's without changing the hardware the VM's run on?
 
C

Chris Smith

Jan said:
I wonder if splitting up the two parts of our application and deploy them as
2 different ear-files could result in better performance. A second related
question. The older IPlanet application server could be configured to use
more than 1 JVM; can you gain performance by running an application on
multiple JVM's without changing the hardware the VM's run on?

No opinion on separate EAR files. Probably best to benchmark rather
than going on logic there, as I don't see strong factors pushing in
either direction.

Generally speaking, running multiple JVMs on a host is not good for
performance. There's not a lot of contention within the Java core
platform APIs or virtual machine, and there shouldn't be a lot of
contention within a well-implemented J2EE application server. On the
other hand, deploying on multiple virtual machines causes the system to
maintain duplicate copies of code, and the JVM is notoriously bad at
scaling to multiple VMs on a single host.

Running separate apps in multiple JVMs on the same host is generally
intended for purposes like isolating instability or decreasing points of
failure. It's not a performance trick.

--
www.designacourse.com
The Easiest Way to Train Anyone... Anywhere.

Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top