【Tomcat】壓力測試和優化


一、采用jmeter進行測試

為什么使用jmeter, 它免費開源, 不斷發展, 功能逐漸強大. 可以做功能,負載, 性能測試.一套腳本可以同時用於功能和性能測試.Jmeter 有着眾多的插件開發者, 支持多種的測試協議.
關於jmeter的使用,請參考

http://www.hissummer.com/jmeter-summary.html

Jmeter 快速入門教程(二)--創建簡單web測試

二、jmeter高級使用

Jmeter的分布式測試(優缺點)

Jmeter如今也可以雲?

JMeter 聚合報告之 90% Line 參數說明

jmeter-集合點

 三、性能測試和優化

並發數、QPS、平均響應時間三者之間關系

 

上圖橫坐標是並發用戶數。綠線是CPU使用率;紫線是吞吐量,即QPS;藍線是時延。
 開始,系統只有一個用戶,CPU工作肯定是不飽合的。一方面該服務器可能有多個cpu,但是只處理單個進程,另一方面,在處理一個進程中,有些階段可能是IO階段,這個時候會造成CPU等待,但是有沒有其他請 求進程可以被處理)。隨着並發用戶數的增加,CPU利用率上升,QPS相應也增加(公式為QPS=並發用戶數/平均響應時間。)隨着並發用戶數的增加,平均響應時間也在增加,而且平均響應時間的增加是一個指數增加曲線。而當並發數增加到很大時,每秒鍾都會有很多請求需要處理,會造成進程(線程)頻繁切換,反正真正用於處理請求的時間變少,每秒能夠處 理的請求數反而變少,同時用戶的請求等待時間也會變大,甚至超過用戶的心理底線。

 一個系統吞吐量通常由QPS(TPS)、並發數兩個因素決定,每套系統這兩個值都有一個相對極限值,在應用場景訪問壓力下,只要某一項達到系統最高值,系統的吞吐量就上不去了,如果壓力繼續增大,系統的吞吐量反而會下降,原因是系統超負荷工作,上下文切換、內存等等其它消耗導致系統性能下降。需要找到系統的閾值,不能超過這個值

以下測試場景遵循規則:請求的response的超時時間為1000毫秒

1、tomcat配置:acceptCount="200" maxThreads="200" maxConnections="200" protocol="HTTP/1.1"

模擬最大並發500,循環100次

模擬最大並發400,循環100次

模擬最大並發300,循環100次

模擬最大並發200,循環100次

模擬最大並發100,循環100次


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM