日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

4-8(九)Jmeter性能测试之阶梯式场景(负载测试)、波浪式场景(压力测试)

發布時間:2023/12/15 综合教程 34 生活家
生活随笔 收集整理的這篇文章主要介紹了 4-8(九)Jmeter性能测试之阶梯式场景(负载测试)、波浪式场景(压力测试) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、階梯式場景(負載測試)

  該場景主要應用在負載測試里面,通過設定一定的并發線程數,給定加壓規則,遵循“緩起步,快結束”的原則,不斷地增加并發用戶來找到系統的性能瓶頸,進而有針對性的進行各方面的系統優化。

  使用到的線程為:jp@gc - Stepping Thread Group (deprecated)

  在測試計劃上:右鍵—>添加—>線程(用戶)—>jp@gc - Stepping Thread Group (deprecated)

  同時添加以下監視器:

TPS:jp@gc - Transactions per Second
響應時間:jp@gc - Response Times Over Time
活躍線程數:jp@gc - Active Threads Over Time

針對階梯式場景的參數配置,說明如下:

This group will start:給定的當前負載的并發用戶數
First, wait for:等待XX秒后開始啟動
Then start:0秒(初始化)啟動XX并發用戶數 — 在第幾個虛擬用戶啟動

Next, add:每using ramp-up時間內啟動XX的用戶數
threads every:每次加壓階梯下用戶完成啟動后保持運行XX秒
using ramp-up:XX秒內完成Next, add的用戶數的啟動

    

      注:五秒鐘啟動十個線程,這十個線程持續運行30秒,再用五秒鐘啟動十個線程,這20個線程持續運行30秒

Then hold load for:This group will start并發用戶數全部啟動完成后保持運行XX秒 ==所有線程運行完成后再執行XX秒

Finally, stop:每隔threads every的時間減少XX用戶數
threads every:每隔XX秒減少Finally, stop的用戶數

  

      注:每隔1秒減少5個并發用戶數直到并發用戶數減少為0

我們以注冊接口為例,配置如下參數:

  配置參數的完整描述為:給定負載并發用戶數為25,從0秒開始,每3秒內增加5個并發用戶數,3秒時刻完成5個并發用戶數的啟動后開始平穩運行10秒鐘,依次下去,直到25個并發用戶數全部都啟動完成后,平穩運行30秒,然后每隔1秒減少5個并發用戶數直到并發用戶數減少為0時,負載測試結束。

開始進行負載測試,等待測試完成后,可以通過添加的jpgc監視器圖表查看性能測試報告結果

二、波浪式場景(壓力測試)

  該場景主要用在分段時間壓測和壓力測試里面,分段時間壓測比如點餐系統,一天會出現用餐高峰期、平穩期和閑時區,針對該場景我們就要設計成不同時間段的壓力值不同,加壓方式不同等等,壓力測試我們只需要使用一個場景,并將壓測時間設置長即可,同樣的測試報告也用jpgc的監視器獲得

  使用到的線程為:jp@gc - UItimate Thread Group

  在測試計劃上:右鍵—>添加—>線程(用戶)—>jp@gc - UItimate Thread Group

針對波浪式場景的參數配置,說明如下:

Start Threads Count:給定當前時間段的并發用戶數
Initial Delay, sec:初始化時間,單位:秒(s)
Startup Time, sec:啟動時間,單位:秒(s)
Hold Load For, sec:所有并發用戶數啟動完成后保持運行的時長,單位:秒(s)
Shutdown Time:結束時間,單位:秒(s)

分段時間壓測(示例):

  理解:從 0秒 開始,30秒 啟動 50個 虛擬用戶,運行 60秒 后,10秒 停止50個虛擬用戶 == 第一階段耗時100秒

     從100秒 開始,15秒 啟動 200個 虛擬用戶,運行 120秒 后,10秒 停止 200個 虛擬用戶 == 前兩個階段總耗時 245 秒

     從245秒 開始,30秒 啟動 50個 虛擬用戶,運行 60秒 后,20秒 停止 100個 虛擬用戶 == 前三個階段總耗時 385秒

    。。。。。。

壓力測試(示例):

  理解:從 0秒 開始,60秒 啟動 300個 虛擬用戶,運行 500秒 后,10秒 停止300個虛擬用戶 == 段耗時 570秒

三、服務器監控

  服務器監控插件:jp@gc - PerfMon Metrics Collector,需要在服務器安裝:ServerAgent

服務器資源監控線形圖
用于監控機器的CPU、Memory、swap、Disks I/O、Networks I/O。CPU:cpu占用量百分比;
服務器性能監測控件,包括CPU,Memory,Network,I/O等等(此功能用到在需監聽的服務器上啟動startAgent)
根據需要選擇CPU,Memory,Network I/O等

1、下載并安裝ServerAgent

百度網盤鏈接安裝包:

鏈接:https://pan.baidu.com/s/1VOQVS0LdrhMEXdFthvyuhg
提取碼:0h1p

2、通過ftp/sftp方式把包上傳到服務器上,解壓

上傳 壓縮包到服務器 建議公司環境安裝目錄下或opt目錄下
解壓命令:unzpi ServerAgent-2.2.3.zip
進入解壓后的文件:cd ServerAgent-2.2.3/
查看所有文件:ll

starAgent.sh 是啟動文件

3、更改端口并啟動服務:

Linux 下啟動:.startAgent.sh 回車就可以啟動,默認的端口是4444

在阿里云的服務器上面4444端口可能沖突后會被禁用,防止禁用后會出現各種問題

更改并啟動服務執行: sh startagent.sh --udp-port 0 - -tcp-port 3231

(建議使用該方式,去掉udp、tcp改變端口, 默認4444,可能沖突或禁用)

udp和tcp都是http協議中使用的數據傳輸協議 其中 udp 的意思是傳輸的速度越快越好,不保證數據的準確定
tcp 需要先建立雙方的鏈接,數據穩定不會出錯,傳輸的速度沒有udp快

加上&后臺運行:sh startagent.sh --udp-port 0 -tcp-port 3231&

停止服務:Ctrl + C

4、啟動服務后去檢查防火墻是否關閉

1、服務器防火墻是關閉狀態那就沒有問題

1、啟動防火墻:systemctl start firewalld
2、關閉防火墻:systemctl stop firewalld
3、檢查防火墻狀態:systemctl status firewalld

  

2、如果沒有關閉防火墻,那么就需要關閉或執行下面的命令把端口添加到防火墻內

防火墻添加開放端口:
命令:firewall-cmd --permanent -add-port=3123/tcp

不用在意此條內容:再firewall-cmd --reload(刪除firewall-cmd-permanent --remove-port=3243/tep)  

安裝完畢

5、運行腳本:

啟動后會出現如下圖:服務器資源監控的圖表

可能出現的問題:

1.啟動文件,并指定端口號(隨意):

./ startAgent.sh --udp-port 0 --tcp-port 3128
意思是:不啟用 udp 服務,只啟動 tcp 服務

2.可能出現網絡不通

檢測到服務器 端口網絡不通

telnet 服務器地址.3129

1、網絡不通第一種解決辦法

先停止服務:Ctrl + C

檢查3128端口:lsof -1:3128

輸入命令回車后什么都沒有提示

需要查看防火墻:systemctl status fi rewalld

2、網絡不通第二種方法

關閉防火墻,重新指定端口

systemctl stop firewalld
systemctl status firewalld
./ startAgent.sh - -udp-port 0 --tcp-port 3129

檢測端口網絡是否通暢

telnet 148. 70. 249.98 3129

*******請大家尊重原創,如要轉載,請注明出處:轉載自:https://www.cnblogs.com/shouhu/,謝謝!!*******

總結

以上是生活随笔為你收集整理的4-8(九)Jmeter性能测试之阶梯式场景(负载测试)、波浪式场景(压力测试)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。