性能測試
所謂的性能測試要在功能測試之後。
- 功能測試:關注能不能用
- 性能測試:關注好不好用
常見的性能關注點有:
- 接口響應時間:50毫秒 ~ 1000毫秒
- 吞吐量:1000萬每天,2000萬每天 ......10億每天
- TPS:Transaction Per Second 事務處理能力,每秒處理事物數(打開頁面、登入、選擇商品、加入購物車、下單、付款)
注意:“日活”每日活躍使用者數,是個營運資料,跟性能沒有必然關聯性
Jemter是什麼?
用更準确的話說,壓力測試包括:
- Spike testing:短時間的極端負載測試
- Extreme testing:在過量使用者下的負載測試
- Hammer testing:連續執行所有能做的操作
開源免費隻是衆多優點之一,jmeter有以下幾個優點:
- 開源免費,基于Java編寫,可內建到其他系統可拓展各個功能插件
- 支援接口測試,壓力測試等多種功能,支援錄制回放,入門簡單
- 相較于自己編寫架構或其他開源工具,有較為完善的UI界面,便于接口調試
- 多平台支援,可在Linux,Windows,Mac上運作
官網:
https://jmeter.apache.org/下載下傳:binary可運作檔案包
->貼心提醒:
->官網下載下傳規律:
->首頁 -> Download -> 版本号 -> binaries,因為binaries代表已經編譯完,source是還未編譯的源碼。
JMeter包含哪些功能子產品
主要功能子產品
- 取樣器:進行腳本邏輯控制。
- 線程組:壓測場景控制。
- 螢幕:監控壓測運作,擷取性能名額。
錄制
步驟一:
- 打開 JMeter
- 添加 “HTTP(S) Test Script Recorder”
步驟二:
添加“Thread Group”
步驟三:
在 Thread Group中添加“Recording Controller”
在jmeter中設定端口,你可以打開 HTTP(S) Test Script Recorder:比如設定 Port = 8088與此同時,你也可以指定錄制儲存到哪個controller 比如設定 Target Controller = Test Plan > Tread Group > Recording Controller
設定浏覽器端口,你要打開浏覽器,将浏覽器的代理伺服器位址指向
http://localhost:8088開始錄制:單擊HTTP(S) Test Script Recorder中的Start按鈕,打開代理
單擊彈框中的确定按鈕
JMeter的錄制代理将會開啟
Test Script Recoder下找到Requests Filtering 添加“include”與 “Exclude”URL 正則比對表達式
Include:..(baidu.com).
Exclude:..(js|css|PNG|jpg|ico|png|gif).3233d7.png)
當我們錄制完畢,你可以添加result tree看請求和響應的細節:添加 View Results Tree
如果你想對錄制進行回放,點選左上角的綠色三角:
在壓測過程,要例證請求/響應的正确性
斷言的實際值與設定值相符 -> 成功
斷言的實際值與設定值不相符 -> 失敗
右鍵單擊對應的 HTTP Request,添加 Response Assertion
将校驗條件添加到響應斷言中比如:響應文本内容是否包含某個字元串或者http響應碼是不是200
你可以在 View Results Tree 中檢視結果,結果如果錯誤(設定響應碼為2001),會報以下的錯誤
比如設定:
- 并發數:10
- 持續時間:30秒
當一切都設定完畢,點選運作,我們發現結果井然有序。
添加聚合壓測報告 – Aggregate Report
以下是聚合報告的結果
Average:單個請求的平均響應時間
Median:中位數,也就是50%使用者的響應時間
90%Line:90%使用者的響應時間
95%Line:95%使用者的響應時間
99%Line:99%使用者的響應時間
Min:最小的請求響應時間
Max:最大的請求響應時間
Error%:錯誤率
Throughput:吞吐量
Received KB/sec:每秒從伺服器端接收到的資料量
Sent KB/sec:每秒從用戶端發送的請求的數量
寫在最後
本文使用漫畫形式向大家展示了jmeter的基礎用法:錄制回放功能,斷言,聚合報告。
我想你已經擷取到了這些資訊,李政道教授談論學習方法,他表明我們可以擷取很多資訊但是,資訊到了解還有一段路,隻有親手練了才能變成了解,能擷取資訊不代表自己了解。