Locust接口性能测试
前言:
locust完全基于python語言,采用pure python描述測試腳本,并且http請求完全基于requests庫。除了http/https協議外,locust還可以測試其他協議的系統,只需采用python調用對應的庫進行請求描述即可,an open source load testing tool
locust與lr、jmeter的區別:
locust的并發機制摒棄了進程和線程,采用協程(gevent)的機制,協程避免了系統級的資源調度,因此可以大幅提高單機的并發能力
locust的安裝:
可以在cmd或pycharm里的Terminal里pip install locust,當我們在安裝locust時,它會檢測我們當前的python環境是否已經安裝了這些庫,如果沒有安裝,那么它會先把這些庫一一裝上,并且對這些庫版本有要求,有些是必須等于某版本,有些是大于某版本,檢查是否安裝成功,打開cmd或pycharm里的Terminal里輸入locust --help,回車,會把所有的命令都列出來,安裝的過程中會看到gevent>=1.2.2,flask>=0.10.1,msgpack>=0.4.2,six>=1.10.0,requests>=2.9.1,pyzmq>=16.0.2
gevent:在python中實現協程的一個第三方庫,協程又稱微線程,使用gevent可以獲得極高的并發性能
flask:python的一個web開發框架,他與django的地位相當
msgpack:一種快速、緊湊的二進制序列化格式,適用于類似json的數據
six:它提供了一些簡單的工具用來封裝python2和python3之間的差異性
pyzmq:如果你打算把locust運行在多個進程/機器,建議你安裝pyzmq
requests:使用該庫來做http接口測試
?
下面對公司的一個接口壓測的例子,文件名是locust_file,腳本代碼如下:
?
首先啟動性能測試服務,在cmd或pycharm里的Terminal里>locust -f test0604.py --host=https://www.baidu.com
-f:指定性能測試腳本文件
--host:指定被測試應用的url地址,注意訪問百度使用的https協議
接下來,通過瀏覽器訪問localhost:8089,就可以看到locust頁面。如下圖:
Number of users to simulate:設置模擬用戶數
Hatch rate(users spawned/second):每秒產生(啟動)的虛擬用戶數
輸入模擬用戶數和每秒產生的虛擬用戶數,單擊Start swarming按鈕,開始運行性能測試,這個是通過瀏覽器測試的形式,可以通過測試場景設計的時間長度運行,壓力測試時間足夠后,需要手動點擊stop按鈕,結束壓力測試
1、Type:請求的類型,例如GET/POST
2、Name:請求的路徑,這里為百度首頁,即https://www.baidu.com/
3、Requests:當前請求的數量
4、Fails:當前請求失敗的數量
5、Median:中間值,單位毫秒,一半的服務器響應時間低于該值,而另一半高于該值
6、Average:平均值,單位毫秒,所有請求的平均響應時間
7、Min:請求的最小服務器響應時間,單位毫秒
8、Max:請求的最大服務器響應時間,單位毫秒
9、Content Size:單個請求的大小,單位字節
10、Current RPS或reqs/sec:每秒鐘請求的個數,相當于tps
轉載于:https://www.cnblogs.com/laosun0204/p/10978365.html
總結
以上是生活随笔為你收集整理的Locust接口性能测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CF809C(找规律+数位DP)
- 下一篇: 了解Django之前