目錄
- locust
- 1.依賴
- 2. 例項
- 2.1 壓測方式
- 2.2 locust服務端
- 2.3 待壓測介面服務
- 3. 參考文件
locust
1.依賴
pip install locust
2. 例項
2.1 壓測方式
1. 壓測方式
1.1 前臺自編輯方式
修改檔名為locustfile.py 並在控制檯使用locust啟動前臺服務 使用者自定義壓測引數並開啟壓測
1.2 控制檯直接啟動並進行壓測
locust --headless -u 10 -r 1 -H http://localhost:5001 -t 10 -f demo
--headless: 無前臺介面(預設帶引數 --autostart)
-u: 併發數
-r: 延遲時間(s)
-H: 壓測主機資訊
-t: 壓測持續時間(s)
-f: 指定壓測的檔名(預設是locustfile)
2. 擴充套件
2.1 調整前臺啟動方式的IP和埠繫結
--web-host: 預設為"*"
-P或者--web-port: 預設8089
PS: locust 相關命令引數參考:https://docs.locust.io/en/stable/configuration.html#configuration
2.2 locust服務端
# -*- coding:utf-8 -*-
"""
locustfile.py
locust服務端啟動 透過訪問http://localhost:8089前臺 介面形式進行介面壓測
"""
from locust import HttpUser, task
class HelloWorldUser(HttpUser):
@task
def hello_world(self):
# 實際測試的路由(可多個) 預設自動熱重啟
self.client.get("/flaskTest")
# self.client.get("/flaskTest2")
2.3 待壓測介面服務
# -*- coding:utf-8 -*-
import datetime
from flask import Flask
app = Flask(__name__)
@app.route("/flaskTest")
def test():
print(datetime.datetime.now().strftime("%Y%m%d_%H:%M:%S"))
return "OK"
if __name__ == '__main__':
app.run(host="0.0.0.0", port=5001, debug=True)
3. 參考文件
[1] https://pypi.org/project/locust/
[2] https://docs.locust.io/en/stable/installation.html