linux下面jmeter对百度进行压力测试
環境與版本:
ubuntu19.10
Apache Jmeter 2.13.20180731
?
# apt install jmeter
[1]中的一段問題寫的很好:
雖然我們的需求是要我們同時,但是沒有真正意義上的同時。從性能測試工具的角度來看, 雖然, 性能測試工具可以 1 秒模擬成千上萬個請求, 那么這些請求的產生同樣分前后順序。 就算這些請求被真正的“同時” 生產出來, 通過網絡傳輸到過服務器時, 因為受網絡帶寬、延遲等影響, 也無法真正的對服務器構成“同時” 請求。
從服務器角度, 當它接收到并發請求, 在處理這些請求時同樣需要分前后順序, 因為它處理每個請求的
時間極短; 每秒可以處理幾千幾萬次請求; 所以, 我們說它的并發能力是每秒/次。
?
[2]中提到了多臺機器聯合對百度進行測試的配置.
[1][4][5]提到了如何使用Jmeter對百度進行壓力測試
?
[3]中提到了要搞清楚壓力機每秒最多能發多少并發數
?
下面是一個設置被測網站的設置示意圖
?
根據[7]需要在以下路徑增加一些插件,這樣才會有更多種類的監聽器
lib/ext
真實情況是,apt安裝的jmeter的上述功能是失效的.
所以我們卸載jmeter以后,下載地址是:
http://jmeter.apache.org/download_jmeter.cgi
源碼包鏈接是:
http://mirror.bit.edu.cn/apache//jmeter/binaries/apache-jmeter-5.2.1.tgz
然后把插件拷貝到里面的/lib/ext然后啟動就會生效了
然后需要額外下載插件(需要科學上網,不然可能下載不了):
下載連接是:
https://jmeter-plugins.org/wiki/Start/
下載的技巧是:
根據下面的第三個插圖左側的名字去上述連接中查對應的插件即可.
?
最終我們需要的是下面五個插件:
?
?
?
我們學習[10]開始壓測,壓測的時候會發現終端無法再進行curl 請求,
注意如果想停止壓測要點擊stop按鈕不要點擊紅色按鈕
瀏覽器也會打不開百度
?
點擊 charts,注意不要選擇Rows,Rows也能展示曲線圖但是效果不太好.
chart可以在曲線圖上鼠標點擊后進行讀數.
如下(下面插圖中的中間綠色向右剪頭就是開始壓力測試的按鈕):
分析圖表可以看到:
在單個ip對百度進行每秒2000多次請求的時候,請求失敗次數迅速上升.
穩定條件下,最大RPS是2000出頭
點擊上面的Summary Report來看聚合報告:
穩定器情況下,響應時間平均是112ms
穩定情況下,峰值并發數大約是2000*112ms=224
這個計算值得玩味,這個意思其實是 2000次請求/秒*0.112秒=224次,
什么意思呢?
在百度這個網站的后臺還沒響應過來的這段時間間隔內,會收到多少請求.
穩定情況下,峰值并發=平均并發 + 3*√平均并發,
這個式子我們改變下形狀是:
其中:
x:平均并發
N:峰值并發
我們使用python代碼求解:
import scipy.optimize import sympy print(sympy.solve('x**2 -457*x + 50176'))最終可以得到x(平均并發)=184次
?
[9]提到了TPS和QPS的區別:
QPS:Queries Per Second意思是“每秒查詢率”,是一臺服務器每秒能夠相應的查詢次數,是對一個特定的查詢服務器在規定時間內所處理流量多少的衡量標準。
TPS:是TransactionsPerSecond的縮寫,也就是事務數/秒。它是軟件測試結果的測量單位。一個事務是指一個客戶機向服務器發送請求然后服務器做出反應的過程。客戶機在發送請求時開始計時,收到服務器響應后結束計時,以此來計算使用的時間和完成的事務個數,
個人理解如下:
1、Tps即每秒處理事務數,包括了
1)用戶請求服務器
2)服務器自己的內部處理
3)服務器返回給用戶
這三個過程,每秒能夠完成N個這三個過程,Tps也就是3;
2、Qps基本類似于Tps,但是不同的是,對于一個頁面的一次訪問,形成一個Tps;但一次頁面請求,可能產生多次對服務器的請求,服務器對這些請求,就可計入“Qps”之中。
例如:訪問一個頁面會請求服務器3次,一次放,產生一個“T”,產生3個“Q”
?
?
Reference:
[1]6. 第一個jmeter腳本開發-測試百度首頁
[2]Jmeter入門之壓力測試
[3]比如用 jmeter 之類壓測工具,100w 并發壓 baidu.com,為什么壓不掛網站?
[4]jmeter訪問百度首頁示例
[5]一個簡單的使用jmeter接口測試訪問百度的例子---焦莉麗
[6]【JMeter】如何錄制創建及得到曲線圖
[7]Jmeter查看QPS和響應時間隨著時間的變化曲線(轉載)
[8]百度壓測,分析性能拐點
[9]TPS和QPS的區別和理解
[10]百度壓測,分析性能拐點
總結
以上是生活随笔為你收集整理的linux下面jmeter对百度进行压力测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux下面的chrome总是跳出xd
- 下一篇: linux 其他常用命令