1. 程式人生 > >伺服器壓力測試工具0——需求與設計

伺服器壓力測試工具0——需求與設計

簡介

目前網上有各種伺服器的壓力測試工具,大多針對於支援http協議的web伺服器。現在需要實現一個壓力測試工具,能夠實現對各種連線協議的伺服器進行測試,包括但不限於http,tcp,websocket協議。

功能需求

1.能夠實時獲取伺服器對客戶端請求的最大最小以及平均響應時間,百分之九十響應時間,超時任務數,請求錯誤數,錯誤率和實時的QPS,並同步監控伺服器的效能資訊。
2.可以實現對不同型別連線協議進行測試,包括但不限於HTTP,TCP,WEBSOCKET連線。
3.實現對不同的業務場景進行單一測試以及組合測試。
4.因為可能存在一臺壓力機效能問題,所以需要實現可控制多臺壓力機同時對伺服器進行測試,同時開啟,同時停止。並且控制端能夠獲取當前所有壓力機的執行情況與測試資料。
5.能夠控制伺服器在指定的QPS執行,也能夠測試伺服器的極限QPS。
6.獲取的資料儲存到資料庫。
7.能夠以圖表的形式實時展示資料。

設計

壓力端設計

工具壓力端主要分為兩個模組,控制器RobotCtr,壓力生成器RobotSrv,以及業務模組biz。
控制器通過傳送http請求控制壓力機器人的start,stop和status。壓力機器人則開http埠進行監聽執行相應動作,可以持續向被測伺服器產生大量請求進行壓測,並實現對壓力的控制和對資料的採集上報。最終資料上傳至資料庫。
在這裡插入圖片描述

資料收集展示端設計

在被測的伺服器上部署相應的效能採集工具,實時的收集伺服器的各類效能資訊,並上傳至資料庫。
資料展示則提供一個數據展示的web伺服器,能夠實時的從伺服器中拉取當前的測試資料,以及伺服器效能情況等資料。
在這裡插入圖片描述

最終結果展示

部分效果最終如下圖所示。
在這裡插入圖片描述


在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述