SuperBenchmarker 是ㄧ個開源的類似於Apache ab的壓力測試命令列工具。可以在 .NET 4.52+ 或者 .NET Core 2.0+ 平臺上執行。
可支援Get、Post、Put、Delete這些呼叫方式,呼叫時能指定Concurrent user、Request數、Header template…等。
可以從Github、Chocolatey這兩種方式獲得。
Github使用者可在download目錄內取得編譯好的程式主檔案
Chocolatey使用者可輸入下列命令進行下載
cinst SuperBenchmarker
程式的作者是建議用Chocolatey去獲得程式主檔案,因為放置的程式主檔案已經被作者用ILMerge將依賴的元件合併,獲得後就可直接使用。
程式的使用方式可直接在命令列下輸入sb檢視,裡面會有程式的使用方式、引數、及簡易的使用範例
其中比較重要的引數大概有下列幾個
-u 可用來指定要壓測的網站或是API
-n 可用來指定要壓的Request數量
-c 可用來指定Concurrent Request數量
-m 可用來指定要使用的HTTP Method
-h 可用來指定要顯示HTTP Header
-q 可用來指定要顯示Cookie
所以我們要傳送1000個Request去測試騰訊網的話 可以輸入命令
sb -u https://www.qq.com -n 1000
要傳送1000個Request, 且同時間可能有10個Concurrent Request去測試騰訊網的話 可以輸入命令
sb -u https://www.qq.com -n 1000 -c 10
要在傳送命令後顯示Header的話, 可帶入引數-h
sb -u https://www.qq.com -n 1000 -c 10 -h
要在傳送命令後顯示Cookie, 可帶入引數-q
sb -u https://www.qq.com -n 1000 -c 10 -h -q
命令執行的最後我們都會看到類似下麵這樣的畫面:
這邊有簡易的測試統計,可以看出每秒可處理多少的Request、最大的處理時間、最小的處理時間、平均的處理時間、以及壓了這麼多次的API,依比例分大概在哪個範圍。
同時還有網頁來展現測試統計結果
這些數值有助我們評估網站或是API的效能與負載量。 除了看這些資料外,這邊建議也可以在壓的時候看一下Server上的CPU Loading,磁碟IO,以及記憶體的使用狀況,甚至可以用效能監視器拉些數值來看。
原文地址:https://www.cnblogs.com/shanyou/p/10370808.html
.NET社群新聞,深度好文,歡迎訪問公眾號文章彙總 http://www.csharpkit.com