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를 잘 사용하라.
- 자세한건 여기를 참조하라.
'개발도 하냐?' 카테고리의 다른 글
Lightweight Architecture (0) | 2008.12.26 |
---|---|
빅 사이트들의 웹 아키텍처 구성 (0) | 2008.12.26 |
웹 퍼블리셔란? (0) | 2008.12.20 |
DTD에 따른 브라우저 박스크기변화 (0) | 2008.12.20 |
제프리 젤드만의 웹표준 가이드 (0) | 2008.12.20 |