伺服器壓力測試工具2——壓力端控制模組設計
阿新 • • 發佈:2019-02-15
簡介
壓力端控制模組(Robotctr)相對簡單,主要負責控制壓力端的壓力生成以及部分測試資料的上傳。
設計思路
Robotctr讀取配置檔案,把相應的配置項通過HTTP傳送到各個Robotsrv,並使用HTTP請求控制Robotsrv機器的啟動和停止測試。請求包括:
1.start請求:開始測試請求,會向配置檔案壓力伺服器列表中的所有Robotsrv傳送start請求。如果某個Robotsrv啟動失敗則會退出測試。
2.stop請求:停止測試請求,向配置檔案壓力伺服器列表中的所有Robotsrv傳送stop請求。通過捕獲訊號來判斷是否傳送stop請求,當用戶需要手動停止測試時,使用ctrl+c則可向所有Robotsrv傳送stop請求。
3.status請求
配置檔案設計
壓力端的配置檔案使用的是json,主要內容包括
{ "RobotNum":10, //每臺Robotsrv開啟的機器人數量。 "RobotScene":"GameCase",//測試場景,使用者自己編寫,後面會詳細介紹。 "TPS":-1,//TPS控制數值,這個數值用來控制測試時被測伺服器的TPS,-1表示進行極限測試。 "TestTime":600,//測試時間,單位秒。 "Interval":2,//資料上傳時間間隔,單位秒。 "RobotPerSec":100,//每秒啟動機器人數。 "SectionNum":100,//Tps控制時,任務分塊數,推薦值100。後面會詳細介紹。 "StatTimeMax":1000,//預估最大的響應時間,單位毫秒。後面會詳細介紹。 "StatTimePrecision":2,//90%響應時間計算精度,單位毫秒,精度少量影響效能,推薦2毫秒。後面會詳細介紹。 "SuccessRate":99.9,//成功率,當測試中響應成功率低於該值將會自動退出測試且測試失敗。 "TestAddr":["ws://192.168.0.1:8888"],//被測伺服器地址列表,為陣列,可設定為多臺。 "CliLogPath":"../Clilog/%d/testlog_%h.log",//控制端日誌路徑。 "SrvLogPath":"../Srvlog/%d/testlog_%h.log",//壓力伺服器日誌路徑。 "DataLogPath":"../Datalog//%d/testlog_%h.log",//機器人測試資料日誌路徑。 "ReadTimeOut":6,//測試超時時間,單位秒。 "URLs": ["http://127.0.0.1:8080"],//壓力伺服器地址列表。 "DBConfPath": "../../config/db.ini"//資料庫配置檔案路徑。 }