Tomcat runs decently with default settings, but it's performance can be improved by tuning the CATALINA_OPTS string in Tomcat's startup file.
The parameters you'll want to play with most are -Xms and -Xmx which set the Java memory usage bounds. These can be tuned by starting the server and observing whether the Tomcat Java processes cause the server to access swap space. Tune –Xms and –Xmx to maximize the memory given to Tomcat without using swap space.
The -Dserver options hints to Tomcat that the machine is a server that won't be used as a desktop machine.
--XX:PermSize sets the size of the perm gen heap. I have found that this heap reaches some steady state. If the size is too small, when JSPs compile you'll get a PermGen space error. 100M-120M has worked well for the various applications I have worked on.
There are far more in depth tuning resources available if you Google around, but the above should get your started.
Here is a sample Catalina Opts string:
CATALINA_OPTS="-Dserver -Xms2048M -Xmx2048M -XX:PermSize=100M -XX:MaxGCPauseMillis=1000 -XX:GCTimeRatio=8 -DXlp -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing -XX:CMSIncrementalDutyCycleMin=0 -XX:CMSIncrementalDutyCycle=25 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1612 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.snmp.port=16666 -Dcom.sun.management.snmp.acl=true"
Tuesday, September 08, 2009
Subscribe to:
Post Comments (Atom)
Labels
- Java (34)
- Oracle (27)
- javascript (24)
- NIX administration (19)
- Reporting (18)
- XML (17)
- Web Graphics (10)
- perl (10)
- CSS (9)
- Tomcat (8)
- Android (7)
- Matlab (7)
- XSL (7)
- HTML (6)
- SQL (6)
- XForms (6)
- browser quirks (6)
- Orbeon XForms (5)
- Solaris (5)
- AJAX (4)
- Mirth Project (4)
- PHP (4)
- Video (4)
- Arduino (3)
- Eclipse (3)
- JPA (3)
- JSP (3)
- JSTL (3)
- LAMPS (3)
- SSH (3)
- SVN (3)
- Hibernate (2)
- Netbeans (2)
- Networking (2)
- Python (2)
- Windows (2)
- Wordpress (2)
- XHTML (2)
- Alfresco (1)
- Architecture (1)
- ArduPilot (1)
- Arduino Yun (1)
- Arduplane (1)
- Audio Recording (1)
- Betaflight (1)
- CouchDB (1)
- DIY (1)
- Design (1)
- FPV (1)
- JSON (1)
- JUnit (1)
- Mobile Development (1)
- Printing (1)
- RC Airplane (1)
- REST (1)
- Scalability (1)
- Struts (1)
- Tools (1)
- Virtualization (1)
- Web services (1)
- camera (1)
- canon (1)
- gphoto2 (1)
- jQuery (1)
- ubuntu (1)
- unix (1)
No comments:
Post a Comment