Rav*_*uid 7 performance tomcat
我从Tomcat 7.0.54升级到8.0.15,将openSSL升级到1.0.1k,使用APR 1.5.1将tcnative升级到最新的1.1.32.
但是,Tomcat现在比以前慢了大约2到3倍.最值得注意的是,部署WAR文件需要更长的时间.
雄猫7
Jan 20, 2015 3:39:36 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deployment of web application archive <PATH>\file.war has finished in 433 ms
Run Code Online (Sandbox Code Playgroud)
雄猫8
Jan 21, 2015 2:27:01 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deployment of web application archive <PATH>\file.war has finished in 4,310 ms
Run Code Online (Sandbox Code Playgroud)
所有WAR文件都会发生这种情况,所有这些都是从毫秒到大约5秒.
我从server.xml中删除了JasperListener,因为它似乎已被删除.
unpackWARs="false"
autoDeploy="true"
Run Code Online (Sandbox Code Playgroud)
如果设置为true(至少不显着),unpackWars没有区别.我认为它可能是8.0.17中修复的注释扫描问题,但没有运气.
我注意到catalina.properties中的jarsToSkip已经改变了
tomcat.util.scan.DefaultJarScanner.jarsToSkip to
tomcat.util.scan.StandardJarScanFilter.jarsToSkip
Run Code Online (Sandbox Code Playgroud)
并删除了org.apache.catalina.startup.TldConfig.jarsToSkip并转到context.xml
<JarScanner>
<JarScanFilter tldSkip="websocket-api.jar,tomcat-websocket.jar"/>
</JarScanner>
Run Code Online (Sandbox Code Playgroud)
然而,这似乎都没有让我回到tomcat 7的性能.这样做的一个动作是删除websocket jar.但是我们需要它们.这让我得出的结论是,它们仍然被扫描,即使它们应该被跳过.
我错过了什么吗?context.xml是否与catalina.properties jarsToSkip不同?
对我来说,慢速启动的解决方案是放入conf/context.xml:
<Context>
<JarScanner>
<JarScanFilter defaultPluggabilityScan="false" />
</JarScanner>
</Context>
Run Code Online (Sandbox Code Playgroud)
资料来源:https://groups.google.com/a/apereo.org/forum/#!topic/sakai- dev/ cjtYGxd6hG0
我这里也有类似的问题。
改善启动时间的一种选择是添加:
metadata-complete="true"
Run Code Online (Sandbox Code Playgroud)
到 web.xml (webapp 元素),如https://cwiki.apache.org/confluence/display/TOMCAT/HowTo+FasterStartUp中的建议。这假设您的 web.xml 就是您的网络应用程序启动所需的全部内容。
它并没有完全解决我的问题,但启动速度的提高是巨大的。