網頁

免費網站與REST服務壓力測試工具

ASP.NET Web API壓力測試

在《ASP.NET MVC 4網站開發美學》上市之後,曾經有讀者問筆者:「ASP.NET Web API是否真的可以使用在真實的專案上?」答案是肯定可以。ASP.NET Web API並不是一個全新技術,而是一項整合與改良的技術,ASP.NET Web API在HTTP Service就是要提供一個輕量且高效率運作框架。

但要如何證明呢?李錩鈺博士說:「有一分證據,說一分話。」現在為各位提供可視的數據給讀者。

SuperBenchmarker

這是一支Command-line應用程式,讓我們非常簡易即可對網站或HTTP API進行壓力測試。

PM> Install-Package SuperBenchmarker

安裝套件之後,開啟專案目錄下的「\packages\SuperBenchmarker.{version} \lib」即可找到sb.exe主程式。

SuperBenchmarker參數說明

  sb.exe -u url [-c concurrency] [-n numberOfRequests] [-m method] [-t template] [-p plugin] [-f file] [-d] [-v] [-k] [-x] [-q] [-h] [-?]
 

常用的有:

  1. -u url:你要測試的網站或REST服務URI。
  2. -n N:N代表要測試的次數。預設 100。
  3. -c N:N代表同時連線數。預設 1。

-c參數是壓力測試關鍵之一,以筆者的測試經驗,一台主機最大設定值約250以下,正常是設定為200最順。-n是進行多少回測試,數字越大測試越久數據越精確。

sb.exe 範例

以下是一些測試範例:

  1. sb.exe -u http://google.com
    以預設值(-c 1 -n 100)對http://google.com進行請求測試。
  2. sb.exe -u http://google.com -n 1000 -c 10
    以同時10連線進行1000次請求測試。

有了以上SuperBenchmarker工具,讀者就可以非常方便對ASP.NET Web API或網站進行簡易的壓力測試。注意,請不要去壓測別人的網站或服務。

最後,其實我比較擔心是硬體受不受的了,而不是軟體說。

參考資料

  1. http://byterot.blogspot.tw/2013/05/superbenchmarker-ab.exe-sb.exe-apache-benchmark-load-performance-benchmark-asp-net-web-api.html
  2. https://github.com/aliostad/SuperBenchmarker/tree/master/download
  3. http://chocolatey.org/packages/SuperBenchmarker

7 則留言:

  1. 板主大大請問一下我安裝後啟動有這個錯誤: Unhandled Exception: System.IO.FileNotFoundException: Could not load file or ass
    embly 'CommandLine, Version=1.9.71.2, Culture=neutral, PublicKeyToken=de6f01bd32
    6f8c32' or one of its dependencies. The system cannot find the file specified.
    at SuperBenchmarker.Program.Main(String[] args) , 我使用的OS是win7 , vs為2012版本, .net framework 4.5~ 請問如何解決, 感謝大大。

    回覆刪除
    回覆
    1. 另外,你的問題我碰過,我也有反應給作者:https://github.com/aliostad/SuperBenchmarker/issues/8
      後來重灌電腦後沒有再發生,我也就沒有追下去了。

      刪除
    2. 對了,那時候我解決的辦法是指定下載指定版本「-version 0.1.2.0」,而不是0.1.5.0版。0.1.2.0在所有電腦都正常。

      刪除
    3. 大大, 下載 -version 0.1.2.0 版本後確定可行, 感謝大大的回覆:)

      刪除
  2. NuGet上的版本已經沒有再更新,請至 https://github.com/aliostad/SuperBenchmarker/tree/master/download 下載最新版本試試看。

    回覆刪除
  3. 感謝大大的回覆, 我再試看看,謝謝:)

    回覆刪除
  4. 文章尾端有一些更詳細的用法
    http://reshuffles11.rssing.com/chan-6962678/all_p3.html

    回覆刪除

感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。