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] [-?]
常用的有:
- -u url:你要測試的網站或REST服務URI。
- -n N:N代表要測試的次數。預設 100。
- -c N:N代表同時連線數。預設 1。
-c參數是壓力測試關鍵之一,以筆者的測試經驗,一台主機最大設定值約250以下,正常是設定為200最順。-n是進行多少回測試,數字越大測試越久數據越精確。
sb.exe 範例
以下是一些測試範例:
- sb.exe -u http://google.com
以預設值(-c 1 -n 100)對http://google.com進行請求測試。 - sb.exe -u http://google.com -n 1000 -c 10
以同時10連線進行1000次請求測試。





