Visual studio壓力測試


需要安裝VS企業正式版本,VS企業使用版本在做壓測時,線程數有最多設置250人的限制

VS企業正式版本安裝包:VS 2015 Installation.msg

創建一個Web Performance And Load Test項目

1. 打開Visual Studio,選擇File->New->Project->Test->Web Performance and Load Test Project

          注意:項目路徑請選擇D盤或其他磁盤,盡量不要選擇C盤,以免磁盤空間不足,對測試結果准確性造成影響

 

 

 

 

 

 添加調用方式為Get類型的API (API沒有緩存,做壓測的時候可以用這一個API來壓,即每次請求的參數不需要變化)

 

1. 選中新建好的工程項目,右鍵Add Web Performance Test

 

 

 

2. 雙擊打開工程項目里的WebTest1,右鍵添加API請求

在配置里,調用方式選擇GET,添加API url請求后save一下

 

  

 

 

 

 

 

 

3. 有的API需要添加Headers參數

右鍵url->Add Header,在配置里添加Name和Value值

 

 

 

4. 本地運行一下,確保API調用沒有問題后再開始做壓測

點擊Run Test,查看API調用結果是否返回200-成功

在request里勾上Show raw data可以看到請求的原始參數

 

 

 

添加調用方式為Get類型的API(API有緩存,即每次請求的參數需要變化),

可以通過add datasource或者generate code的方式更改每次請求的參數,這里以WebTest1為例,每次請求里的contactid取不同的值

add datasource

1. 從數據庫里以拼接字符串的方式取不同的contactid,把查詢結果存放在xml文件里

xml文件參照:第一組200002864079-20002964075.xml

 

 

 

2. 在url里點擊add data source,選擇數據源的格式為xml格式,導入xml文件,選中uri

 

 

 

 

 

 

 

 

 

 

 

 

3. 在url里點擊data source,點擊uri_Text,此時請求的url顯示成{{DataSource1.uri.uri._Text}},本地運行一下,確保API調用沒有問題后再開始做壓測

 

 

 

 

 

 

generate code

1. 點擊generate code按鈕,生成WebTest1Coded.cs文件

注意此時webtest文件和生成的coded cs文件是兩個獨立的文件,在后面介紹的壓測中添加API時需要選擇coded cs文件

 

 

 

2. 在cs文件里添加C#代碼,右鍵點擊Run Coded Web Performance Test,確保cs文件運行沒有問題后再開始做壓測

 

 

 

 

 

 

添加調用方式為post類型的API(API沒有緩存,做壓測的時候可以用這一個API來壓,即每次請求的參數不需要變化)

1. 選中新建好的工程項目,右鍵Add Web Performance Test

2. 雙擊打開工程項目里的WebTest2,右鍵添加API請求

在配置里,調用方式選擇POST,添加API url請求后save一下

3. 右鍵WebTest2,選擇open with xml格式,把<FormPostHttpBody />去掉

添加下面代碼:

<Headers>

    <Header Name="Content-Type" Value="application/json" />

     </Headers>

     <StringHttpBody />

Save一下

4. 雙擊打開WebTest2

填寫content-type和stringbody

Save一下

 

 

 

 

 

 

 

 

 

 

 

 

添加Load Test開始做壓測

1. 右鍵工程項目,Add Load Test

 

 

 

2. 按向導配置模式、線程數、運行時間、網絡  選擇On-Premise Load Test在本機做壓測

 

 

 

 

 

 

一般不填寫think time,選擇默認的場景。思考時間:被用來模擬人的行為,   使人們在與網站的互動中等待。

思考時間發生在Web測試中的請求和負載測試場景中的測試迭代之間。在負載測試中使用思考時間對於創建更精確的負載模擬是有用的。

 

 

一般選擇持續的線程模式,step load是增量的線程模式

 

 

默認選擇第一種模式,基於請求的總數出壓測報告

 

 

添加進行壓測的webtest或者coded cs文件

 

 

選擇網絡,默認選擇LAN局域網

 

 

選擇瀏覽器,默認選擇Internet explorer 9.0,點擊Finish按鈕

3. 點擊Run Load Test

 

 

4. Summary Report中幾項重要的壓測指標

Max User Load:線程數

Duration:壓測運行時間

Total Tests:線程數在運行時間內發起的總請求數

Failed Tests(% of total):請求失敗的次數/請求總數

Avg.Test Time(sec):服務器平均一秒內處理的請求數

Errors:截圖中的get geo locations error可以忽略,通常在線程數逐漸增多的情況下,會出現500-服務器內部錯誤、504-服務器響應超時錯誤等等

 

 

 

 

5. 壓測報告模板

觀察在運行時間恆定的情況下,隨着線程數不斷增加,服務器每秒處理的請求數不再增加反而減少了,說明這個API的性能已經達到峰值。

如果在壓測過程中看到有大量的500、504或者其他錯誤,讓dev查下原因,看能否優化下SP腳本和代碼

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM