jmeter+nmon+crontab簡單的執行接口定時壓測


一.概述

臨時接到任務要對系統的接口進行壓測,上面的要求就是:壓測,並發2000

在不熟悉系統的情況下,按目前的需求,需要做的步驟:

  1. 需要有接口腳本
  2. 需要能監控系統性能
  3. 需要能定時執行腳本

 

二.觀察

>針對第一點:接口腳本

需要觀察系統接口的情況:

  • 系統使用swagger文檔編輯接口,這很好,可以直接引用
  • 系統內關聯接口熟悉,將需要的參數設置成變量以便調用
  • 系統內的接口返回狀態很規范,可以直接判斷code&message

綜上,為了效率,選擇現存的開源工具執行(針對該開源工具的要就是可以使用命令行執行:jmeter)【備注:因為要定時執行】

>針對第二點:監控系統性能

觀察系統服務器:

  • 系統為Linux
  • Linux上的監控工具很多,要求是可以輸出到文件並可對該文件進行分析
  • 或者,可以自己編寫shell腳本監控獲取信息,比如:top【為了效率,選擇一款自主搭配即可(當前選擇:nmon)】

>針對第三點:定時執行腳本

 觀察腳本即將存放並執行的系統

  • Linux系統自帶crontab命令可執行定時任務

三.編寫

> 編寫步驟:

1.使用jmeter編寫接口腳本,並增加壓測線程數,並編寫啟動腳本:StartJmx.sh

source /etc/profile
rm -rf ****.jtl /絕對路徑/jmeter -n -t /絕對路徑/debugTest.jmx -l /絕對路徑/****.jtl
sleep 10
nmonpid=`ps -ef | grep nmon | awk '{print $2}'`
kill -9 ${nmonpid}

2.服務器上安裝nmon,並編寫啟動腳本:StartNmon.sh

#每5秒采集一次,采集120次,共10分鍾的數據 nohup nmon -f -T -s 5 -c 120 -m /絕對路徑文件夾  & echo $! > nmonpid

3.編寫定時腳本

0 15 * * * sh /絕對路徑/StartNmon.sh
0 15 * * * sh /絕對路徑/StartJmx.sh

 四.綜述

>以上除開jmeter腳本編寫,其他編寫時間不超過1小時

  • 當任務來臨的時候,不要慌張不要拒絕,先和對接人溝通相應的事宜,明確需求
  • 需求明確之后,請思考實現方式,方式總是多種多樣的,或請教前輩或上網求解
  • 臨時任務的重點均在於效率,這個前置條件給出的寬裕就是:你不需要把方案做的很完美,能得出結論即可
  • 方案可后續再改良~


免責聲明!

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



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