Tomcat 能穩定支援的最大使用者併發數(詳解)
參考:http://blog.sina.com.cn/s/blog_68b7d2f50101ann7.html
伺服器配置:
單硬碟,SATA 8MB快取
測試伺服器和loadrunner執行伺服器位於同一網段--100MB網路(同一交換機)上,排除網路問題的影響
伺服器執行始終,CPU使用率非常低沒有超過5% 因此雖然伺服器配置低,但是不是效能瓶頸所在
伺服器執行在windowsserver 2003 sp2中文版(正版系統)
tomcat記憶體的設定:1.4GBJVM+256MB的池
set JAVA_HOME=C:\JAVA\JDK15
set CATALINA_OPTS=-server -Xms 1400m -Xmx1400m -XX:PermSize=256m -XX:MaxPermSize=256m
tomcat執行緒的設定:初始產生1000執行緒數最大支援2000執行緒
<Connector port="80" maxHttpHeaderSize="8192"
maxThreads="4000" minSpareThreads="1000" maxSpareThreads="2000"
enableLookups="false" redirectPort="8443" acceptCount="2000"
connectionTimeout="20000" disableUploadTimeout="true" />
需要顯示的JSP頁面:index.jsp
<html> <body> test---tomcat <% System.out.println("==========================="); System.out.println("==========================="); System.out.println("==========================="); System.out.println("==========================="); System.out.println("==========================="); %> </body> </html>
類似於靜態頁面,以此來判斷tomcat支援的最大的併發使用者數量
使用loadrunner設定1000併發使用者數進行壓力測試。每兩秒鐘增加一個使用者,以此遞增,直至1000後,然後再按照兩秒鐘一個使用者遞減直至使用者數位0.
測試結果:
Transaction Response Time Under Load 1可以看到在達到600使用者同時線上的時候,系統響應時間為6秒鐘 100人-----響應時間0.8秒 完美 150人-----響應時間1秒 完美 200人-----響應時間1.5秒 響應時間有微小波動 比較完美 250人-----響應時間1.8秒 比較完美(此時是理想情況下最大的併發使用者數量) 280人-----開始出現連線丟失問題,連線開始不穩定 300人-----響應時間3秒 響應時間有較大波動峰值為6秒 較差 350人-----響應時間3秒 開始大量出現連線丟失問題 連線很不穩定 400人-----響應時間3.8秒 連線丟失數量達到3000次以上 450人-----響應時間4秒 連線丟失數量達到6000次以上 500人-----響應時間4秒 連線丟失數量達到11000次以上 550人-----響應時間6秒 連線丟失數量達到21000次以上 600人-----響應時間6秒 連線丟失數量達到25000次以上 600人開始系統出現異常情況,因此停止測試。測試資料到此為止。 |
每秒的點選次數:
虛擬使用者遞增情況
網路流量
測試過程中成功和失敗的響應結果: