JBoss Production Configuration

Below are some of the configurations to run Jboss in High traffic Production Environment

Use Production mode

Copy the deploy/production server (default, all, minimal and production) to create your own server and do necessary configurations on top of it

Disable Hot Deployment

delete deploy/hdscanner-jboss-beans.xml

Avoid Jboss clustering

Jboss true clustering is too chatty and it degrades performance. If Session replication is not a business need turn off Jboss clustering.

Best high performance Jboss cluster would be to use a light weight standalone jboss servers and load balance externally using hardware load balancer or web server load balancer like apache mod_jk or mod_proxy with session stickyness. If Each request is independent of previous turn off stickyness.

JVM Settings

If you are using JDK 1.5 or below allocate only 4GB of memory to each JVM. Keep min and max and 4GB so that the memory allocation does not fluctuate during load. Tune the Perm space to based on you application need. Run some load tests to use a good JVM configuration.

Note: Use a lower JVM memory allocation for greater performance. More memory allocation leads to higher and slower Garbage collection

EAR location

Use local drive to deploy the EAR. Using SAN or NAS drives might slow down the deployment of ear, JSP compilation, persistence of transactions, log writing etc.,.