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