[英]Tomcat 9 slow response
我有一個 Web 應用程序 (jsp),它在 Tomcat 8.0.46 上運行良好超過一年。 幾周前我們升級到 Tomcat 9.0.10,經過幾天的升級后,tomcat 對某些請求的響應延遲了 8-16 秒。
我在 localhostaccess 日志中看到超過 800 個請求/秒,所以我將 maxThreads 增加到 512,如下所示,最大堆內存增加到 4096MB。
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="512" minSpareThreads="4"/>
<Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
但是問題並沒有解決,所以我將所有配置與舊的Tomcat進行了比較,發現tomcat9正在使用舊的未使用的tomcat執行器。 執行者會影響請求處理時間嗎?
舊的tomcat配置
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
僅供參考,webapp 僅包含 jsps,其中很少有用於使用 DBCP 與 DB 交互並提供 XML 響應。
我不懷疑數據庫連接池,因為它已經被使用並且沒有變化。
CPU : Xenon
RAM: 8GB
OS : Window 2012 server
JDK : jdk1.8.0_144
在本地主機訪問日志中添加了響應持續時間,可以看到某些請求的延遲,但是之前和之后的請求在 15 毫秒(粗體)內都有快速響應。
10.50.29.27 - - [17/Dec/2018:09:27:23 -0500] "GET /App1/sendevent.jsp?TNAME=Transfer1 HTTP/1.1" 200 90 270BA450469B7AA71D22252711CA288A **0.015** http-nio-8080-exec-3
10.50.29.26 - - [17/Dec/2018:09:27:23 -0500] "GET /App1/Start.jsp?ACTION=START&ID=3154583920&SID=$num$&SESSIONID=63AA673E-B6EF-447E-AAB9-3B5B7260EB03&ScriptID=$sid$&ScriptData=$scriptdata$ HTTP/1.1" 200 2948 D97741884AD1005359430A3307D5D44E **6.031** http-nio-8080-exec-5
10.50.29.27 - - [17/Dec/2018:09:27:23 -0500] "GET /App1/sendevent.jsp?TNAME=Transfer1&TRANSFER_RESULT=S&LAST_ACTION=1&TRANSFER_REASON=connection.disconnect.transfer&TRANSFER_NOTE=undefined HTTP/1.1" 200 90 270BA450469B7AA71D22252711CA288A **0.000** http-nio-8080-exec-9
acceptorThreadCount=2
在兩種情況下為我解決了生產力問題:
當我看到足夠好的生產力時的第三種情況是:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.