Monday, 6 February 2012

Some very generic JDE web sizing tips

Q. How many users can run within a JDE JVM (whether this is web logic / websphere or OAS)? 

A. It depends…  I’ve read white papers that say 200 users can be supported per JVM.  That is a JVM that occupies 1.5GB of memory and sits on a single core can support 200 users.  Personally I’m unsure about putting 200 users on a single JVM and being confident with the results.  I think that 50 concurrent busy users is a good number – and I think that this could comfortable go to 80 – with low risk to all users on the system.  I’ve done lots of load testing on virtual web servers.  I’ve done lots of volume testing too, to try and see where things start to slow down.  What you find is that the web engine is very good at scaling, but the back end database connections have to be set up correctly to get the right performance out of JDE.  Load testing puts an unfair load on the JVM too, perhaps way more than what occurs in the real world.

Functional footprint is another important consideration for how many users you can get on a JVM.  If you are just running time entry, then you can probably get way more users on the JVM.  All the caches will be similar, loaded apps will be similar – shoot for the stars (200)!

In this virtual / multi core world that we live in – go for around 50 to 80 – you’ll NEVER worry that a JVM is over loaded.  They are super simple to create and manage with SM these days.  If someone goes to the end of a huge grid or reads a massive PDF – they are not going to affect too many other users when the JVM drops.  More JVMs means more access to cores. 

So with my metrics…  400 concurrent users will need:

400/80 = 5 JVMs @ 1.5GB

Web server will need 5 cores for JDE and 7.5GB of RAM for JDE.  You will need some overhead cores and also OS and overhead RAM.  Therefore for this configuration 8 cores and 12GB a RAM should be adequate.

At the more conservative end of the spectrum (which I like to be because hardware is cheap). is

400/50 = 8 JVMs @ 1.5GB

8 cores + OS and management.  + 12GB RAM + OS and management RAM.

12 cores and 16GB RAM would serve this load up nicely.

caveats:  This advice does not attempt to circumvent the need for proper vendor sizing's.  This is general sizing information that I find applicable for many of the sites that I work with.  If things are dramatically under or over this, then there might be problems with the design.

No comments:

Extending JDE to generative AI