1. 程式人生 > >WebApi管理和性能測試工具WebApiBenchmarks

WebApi管理和性能測試工具WebApiBenchmarks

zoom client 高版本 可用 開發 img ttpClient 進行 沖突

說到WebApi管理和測試工具其實已經非常多的了,Postman、Swagger等在管理和維護上都非常出色;在性能測試方面也有不少的工具如:wrk,bombardier,http_load和ab等等。不過這些工具都具有單一性,管理和維護好的在性能測試上比較低效,對於性能測試好的在管理和維護上不理想!以下主要介紹一款基於dotnet core開發的WebApiBenchmarks工具,這個工具可以對webapi進行管理和維護並提供高效的性能測試能力,接下來來先預覽一下這個小工具再進行詳細介紹。

技術分享圖片

功能

  • 支持簡單的服務管理,可以隨時對不同服務的API進行單元和壓力測試
  • 支持分類的方式管理測試用例,用例支持定義GET,POST,DELETE和PUT等操作的定義
  • 提供高效的性能測試支持,在4核的PC上可以達到20W rps的測試效能;
  • 支持多API同時壓測,並顯示相關性能指標數據進行參考和對比

部署

工具可以運行在安裝有.net core 2.1或更高版本的Linux和Windows下,工具以http服務的方式啟動,通過瀏覽器訪問進行相關操作。 下載工具:https://github.com/IKende/WebApiBenchmark

運行

  • linux
dotnet BeetleX.WebApiBenchmarks.dll

or

./webapibenchmark.sh

  • windows
dotnet BeetleX.WebApiBenchmarks.dll

or

webapibenchmark.bat

端口沖突

工具默認使用9090端口,如果端口被占則無法啟用服務,這個時候需要修改HttpConfig.json文件中的端口配置

    "Host": "",
    "Port": 9090,
    "SSL": false,

打開工具

工具運行後可以瀏覽器訪問相關地址打開工具,本機訪問http://localhost:9090/其他電腦訪問http://ipaddress:9090/

添加服務地址

工具可以維護多個服務地址,所有的測試都必須選擇對應的地址才能運行測試。

技術分享圖片

地址必須是一個可用的http服務Url

添加測試用例

工具支持GET,POST,DELETE和PUT請求定義,可以根據實際情況定義QueryString和Header值,並針對POST和PUT設置相應的Body內容。具體操作界面如下:

技術分享圖片

在編輯界面下面有個測試按鈕,可以即刻測試API的調用情況;選擇相應的服務地址點擊測試即可在下方看到完整的返回結果:

技術分享圖片

批量單元測試

工具支持批量執行測試用例,並在測試用例上顯示具體的執行結果;只要選擇需要測試的用例點擊單元測試即可:

技術分享圖片

性能測試

性能測試是組件提供的最重要功能,為了確保性能測試的效率;組件重寫了一個輕量化的HttpClient,通過這個HttpClient即使在低配置的電腦上也可以進行高效率的壓力測試。測試前需要選擇相應的服務地址和單元測試用例

技術分享圖片

測試參數設置

工具提供兩種測試方式,分別是基於時間和總請求數據,選擇對應的測試方式設置相應的測試數值即可;用戶數是指同時請求的數量,工具限制設置最大2000,設置完成後點擊開始按鈕即可進行測試

技術分享圖片

測試結果

工具會實時反映測試的情況,主要包括HTTP響應狀態和響應延時分布情況,如果同時壓測多個API,則明細裏會實時顯示每個API的響應狀態和響應延時情況。具體如下:

技術分享圖片 技術分享圖片

WebApi管理和性能測試工具WebApiBenchmarks