討論效能測試工具我們的第一反應一般是loadrunner和jmeter,其實在python中,還有乙個叫locust的小工具。locust在英語中是「蝗蟲」的意思,它可以模擬成千上萬的蝗蟲一樣去向系統發起請求,模擬系統在高併發的狀態下的執行狀態。
locust的安裝:pip install locustio==0.8.1(版本號)
locust的特點是:
1.完全基於python語言開發,簡單易學
2.它採用的是協程的工作原理,主要就gevent,是一種 輕量級的效能測試工具,可以在利用較少的壓力機資源的前提下極大的提高併發數量。
3.開源免費,這一點不管是對企業使用者還是學習者都是一種福音。
4.分布式執行
locust 依賴的第三方庫
gevent:在python中實現協程的第三方庫(一種網路庫),協程又叫微執行緒corouine,使用gevent可以獲取極高的併發能力。
flask:python下的乙個web開發框架,和django相當。
requests:支援http/https請求訪問的庫。
msgpack-python:一種快速、緊湊的二進位制序列化格式,使用類似json的資料,主要提供messagepack資料序列化及反序列化的方法。
six:python 2和python 3相容庫,用來封裝處理python 2和python 3之間的差異性。
pyzmq:主要用來實現locust的分布式模式執行,安裝這個第三方庫,可以把locust執行在多個程序或多個機器(分布式)
缺點:不支援對伺服器的資源監控需要借助其他監控工具。
使用:既支援python**執行也可以使用cmd命令列執行。
locust使用方法:
1.編寫指令碼
2.增加事務權重分配,當我們同時模擬兩件業務量佔比不同的請求時需要分配不同的許可權,方法是在@task()中加入引數weight=1,代表比值即可
3.結果統計斷言,當我們在**中進行常規斷言時發現網頁無法統計失敗的結果,於是引入
4.執行,有兩種方法
方法一
然後在瀏覽器中開啟localhost:8089會得到:
在第二欄輸入每秒載入的數量
5.結果分析:
1.概要資訊(失敗率,平均響應時間,最大響應時間,rps/每秒的請求數)
2.報表結果–rps,user, art
python壓測工具Locust
locust作為基於python語言的效能測試框架。其優點在於他的併發量可以實現單機10倍於loadrunner和jmeter工具。他的工作原理為協程併發,也就是gevent庫。locust的缺點也顯而易見,他沒有友好的效能監控頁面,沒有任何關聯,引數化,檢查點之類的定義。當然基於python這些都...
locust基於python的壓測框架
一 locust安裝 python安裝目錄安裝pip install locustio 0.13.0 安裝的時候記得選擇乙個低版本,不然就會報錯 二 locust簡介 最好的內容莫過於官網,經過深思熟慮之後留下的精華 三 重點內容 number of users to simulate 設定模擬的使...
Python壓力測試工具 Locust
locust一款開源效能測試工具,易於使用 指令碼化 可擴充套件,對開發者非常友好。特性 pip install locust import json import tornado.web import tornado.ioloop login false 是否登入 deffib n 計算斐波那契數...