수요일, 5월 8
Shadow

#038 톰켓을 사용하는데 필요한 20가지 Tips

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를 잘 사용하라.
– 자세한건 여기를 참조하라.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.