本文章轉(zhuǎn)載于搜狗測試
上一篇我們講了性能測試的測試工具扛禽,當時對大家推薦了性能測試工具Locust,上期評論時候大家反響都很熱烈希望看到Locust的使用過程,這期帶給大家的就是Locust的使用方法~
Locust的安裝過程:
Locust是一個依賴python所以使用Locust的時候必須要有個python的環(huán)境拆内,需要注意的是python2.6以下的版本是不知Locust的旋圆,而且python3.0及其以上的是暫時不支持Locust的。個人推薦使用的python版本為2.7
當我們有了python環(huán)境我們安裝Locust就很輕松了麸恍,安裝一個pip灵巧,然后執(zhí)行下面的命令:
pip install locustio
安裝完成如下顯示
我們可以執(zhí)行一下命令來確定安裝是否正常
locust -h
以上就是安裝Locust的全過程。
Locust安裝我們介紹完了抹沪,說一下locust的使用過程::
腳本編寫:
編寫Locust腳本是使用Locust的第一步刻肄,也是最關鍵的一步。
示例:
先來看一個最簡單的例子:
from locust import HttpLocust, TaskSet, task
class WebsiteTasks(TaskSet):
@task
def index(self):
self.client.get("/index")
@task
def about(self):
self.client.post("/about")
class WebsiteUser(HttpLocust):
task_set = WebsiteTasks
min_wait = 1000
max_wait = 3000
示例的解釋:
從上面的例子可以看出來腳本中主要包含了兩個類:WebsiteTasks和WebsiteUser融欧,其中WebsiteTasks 是繼承了TaskSet 而WebsiteUser是繼承了HttpLocust敏弃。事實上我們利用Locust腳本測試的時候,所有的場景都是依賴這兩個基類來進行描述的噪馏。
那么我們來分析下上述的腳本是什么意思呢麦到。WebsiteTasks類中定義的是指我們測試任務中的具體業(yè)務操作绿饵,上面的腳本的意思就是訪問一個url路徑下/index請求和/about請求,其中index的路徑是get請求而about路徑下是post的請求瓶颠,其中兩個請求最小間隔1000ms最大的間隔為3000ms拟赊,兩個請求比例為1比1。
運行示例:
當我們寫完這個腳本的時候?qū)⑺4嬖谝粋€路徑下粹淋,打開CMD進入這個路徑下執(zhí)行命令:
locust -H http://www.baidu.com -f locustfile.py
會得到以下的反饋:
這時候locust已經(jīng)是啟動成功吸祟,我們打開瀏覽器輸入 http://127.0.0.1:8089/
Number of users to simulate的意思是我們需要多少的并發(fā)用戶。
Hatch rate (users spawned/second)每秒發(fā)送多少請求桃移。
接下來點擊Start swarming就可以開始測試啦屋匕。
運行結(jié)果:
運行的結(jié)果直接在網(wǎng)頁上就可以查看:
·? ?其中Statistics是用來查看總體的運行報告
Failures是運行中報錯的請求
這樣就是使用Locust進行一次壓測的全過程, 在locust的運行界面,可以下載當前的運行結(jié)果到本地借杰,但是這兩份csv中的測試結(jié)果不夠詳細过吻,不利于分析系統(tǒng)的瓶頸,也是locust的不足之處第步。正常的單機用Locust達到千級的并發(fā)數(shù)量疮装,所以需要高并發(fā)的同學可以抓緊研究下啦~下期大家期望講點什么的話可以在底下留言評論~