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
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.
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
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.,.