HTB User Group on-line Forum
09 Sep 2010, 11:06 *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: Welcome! HTB Online forum is open for posts.
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Recommended memory settings for the deployment of HTB in the JVM?  (Read 1698 times)
Gaetan Dufort
HTBUG Standard Users
Newbie
*
Posts: 16


« on: 22 Jul 2009, 15:29 »

Is there a recommended size for the heap of the JVM to allow to HTB?  Where can I find this type of information?

For HTB5.3 and HTB6.

Regards
Logged
Henrik Ring
HTBUG Moderators
Full Member
**
Posts: 73


« Reply #1 on: 03 Aug 2009, 12:51 »

Hi Gaetan,

I do not remember having seen any recommendations from Oracle on this, except for some hints in their HTB V5 benchmark.

We have done some testing on this and the settings we have found to give the most throughput are:

-server -XX:+AggressiveHeap -Xms2000M -Xmx2000M -Doracle.j2ee.dont.use.memory.archive=true

On a 2 CPU dual core server (ie. 4 cores in total).

The mx and ms setting we set to the max allowed by the OS. We are running 32-bit Linux on Intel/AMD architectures so approximately 2GB is max. If you are running Solaris you should be able to extend to approx. 3.5G according to Sun. 

These settings hold for both 10gR2 and 10gR3 Application Server (ie. HTB V5 and 6).

The rule of thumb we are using is that for each database CPU core you will need two application server CPU cores ie. if your database server is a 4 CPU dual core (8 cores) you should have four 2-way dual core boxes for the application server (16 cores in total). These figures are highly dependant on the nature of you application and does not include web-gui tier application load (eg. JSF / JSP load).

Another rule of thumb is that there needs to be approx. 500MB per core available for the JVM (or too much time will be spend garbage collecting). On Linux this means that if your application server hardware has more than 4 cores you should start more than one instance on the system eg. two instances on a 8 core box each with 2G memory allocated.

Last it is a good idea to limit the number of working threads to max 5 per core (thread pool) ie. 20 threads for a 2CPU dual core server. This will increase the total throughput because thread context changes are minimized under heavy load. I seem to remember that OC4J default to 80 threads.
Logged

Henrik Ring
Information System Architect
CSC health care EMEA
Primož Hrvatin
HTBUG Standard Users
Newbie
*
Posts: 7


« Reply #2 on: 19 Nov 2009, 10:51 »

Hello!

Are there (or will be) any new performance benchmark reports available for HTB v6? As you have already mentioned, there exists only a v5.3 white paper (Oracle Support Article ID 883442.1) - at least that's what I was able to find.

Thanks!

Primoz
Logged
Henrik Ring
HTBUG Moderators
Full Member
**
Posts: 73


« Reply #3 on: 30 Nov 2009, 20:15 »

Hi Primož,

Interesting question. I would have expected Oracle to answer this question. Maybe there is no one home at Oracle HQ to answer?

Best regards
Logged

Henrik Ring
Information System Architect
CSC health care EMEA
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!