사용자 도구

사이트 도구


java:tomcat:performance

Tomcat Performance Tuning

Fastest Servlets in the West

WebappClassLoader lock

  • WebappClassLoader에서 loadClass를 할 때 전역 Lock이 걸리게 되어 클래스로더를 사용하는 코드들이 전부 lock이 걸리게 된다.
  • Tomcat 8/7 최신 버전에서는 ParallelWebappClassLaoder로 변경하여 해결 가능하다.
  • context.xml의 Loader 항목
     <Loader loaderClass="org.apache.catalina.loader.ParallelWebappClassLoader" />

구동(boot) 시간 줄이기

불필요한 TLD 스캔 시간 줄이기

  • logging.properties에서 scan한 파일 로그 확인
    org.apache.jasper.servlet.TldScanner.level = FINE
  • catalina.properties에서 특정 jar 파일들을 TLD 파일을 찾기위해 스캔하는 것을 방지해준다.
    # scan 에서 제외
    tomcat.util.scan.StandardJarScanFilter.jarsToSkip=\
    bootstrap.jar,commons-daemon.jar,tomcat-juli.jar,\
    xom-*.jar,\
    rt.jar,\
    spring-*.RELEASE.jar
    
    # scan 대상
    tomcat.util.scan.StandardJarScanFilter.jarsToScan=\
    log4j-web*.jar,log4j-taglib*.jar,log4javascript*.jar,slf4j-taglib*.jar,\
    spring-webmvc-*.jar
java/tomcat/performance.txt · 마지막으로 수정됨: 2019/05/24 23:42 저자 kwon37xi