출처  :   http://mimul.com/pebble/default/2007/08/24/1187964360000.html



1. jdk 1.5이상이면 아래 설정을 JAVA_OPTS안에 추가한다면 YourKit을 가지고 힙덤프를 분석할 수 있다.
 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/logs/heapdump


2. Jasper 2 JSP Engine 지원을 위해 $CATALINA_BASE/conf/web.xml 설정 변경하라.
 - development : false, genStringAsCharArray : true, modificationTestInterval : true, trimSpaces : true
 - 자세한 건
여기를 참조하라.


3. 가용성 확보를 위해 Tomcat의 clustering/session replication을 사용하라.
 - 사용방법은
여기를 참조하라.


4. error pages를 작성하여 적용하라.(web.xml)
 - <error-page>
      <error-code>404</error-code>
      <location>/error/404.html</location>
   </error-page>


5. 어플리케이션에서 System.out과 System.err를 제거하고 Log4j를 사용하라.


6. application마다 같은 라이브러리는 WEB-INF/lib에서 CATALINA_HOME/shared/lib로 옮겨서 공유하라.
 - 메모리를 절약할 수 있다.


7. memory parameters를 잘 활용하라.


8. 불필요한 어플리케이션을 제거하라.


9. Manager서버의 보안을 강화하라.
 - CATALINA_HOME/conf/tomcat-users.xml
  <role rolename="manager">
   <user username="darren" password="ReallyComplexPassword" roles="manager"></user>
  </role>
 - CATALINA_HOME/conf/server.xml에 IP 블럭킹 기능도 유용하다.
  <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.*"></Valve>


10. server.xml을 최적화 하라.
 - 서버 환경에 맞는 CATALINA_HOME/conf/server-original.xml, CATALINA_HOME/conf/server-minimal.xml 선택하여 server.xml로 변경하라.


11. 톰켓 업그레이드는 설치디렉토리를 분리하여 적용하라.


12. Tomcat 서버는 root로 띄우지 마라.
 - 자세한 내용은
여기를 참조하라.


13. Precompile JSPs (at build time)
 - 자세한 내용은
여기를 참조하라.


14. 디렉토리 보이는 걸 막아라.
  - CATALINA_HOME/conf/web.xml
  <servlet>
   <servlet-name>default</servlet-name>
   <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
   <init-param>
   <param-name>debug</param-name>
   <param-value>0</param-value>
   </init-param>
   <init-param>
   <param-name>listings</param-name>
   <param-value>false</param-value>  <!-- make sure this is false -->
   </init-param>
   <load-on-startup>1</load-on-startup>
  </servlet>


15. 듀얼 코어 CPU를 사용할 경우 쓰레드풀을 250개 이상 설정하라.


16. Tomcat MBeans이나 다양한 모니터링 도구를 활용하여 서버를 모니터링하라.
 - 자세한 내용은
여기를 참조하라.


17. jdk1.5, 1.6이 성능이 좋다.


18. -server JVM option을 사용하라.


19. GZIP compression을 사용하라.
 - <Connector>compression="on"
   compressableMimeType="text/html,text/xml,text/plain,application/xml"
   </Connector>
 - 자세한 건
여기를 참조하라.


20. Security Manager를 잘 사용하라.
 - 자세한건
여기를 참조하라.

참고 자료 : 
http://www.digitalsanctum.com/2007/08/18/20-tips-for-using-tomcat-in-production/




+ Recent posts