入門
本指南帶你跑出第一支 LoadDensity 壓測。
User 類型
LoadDensity 提供六種 user 類型:
fast_http_user— 高吞吐 HTTP(locust.FastHttpUser+ geventhttpclient)。http_user—locust.HttpUser+requests。websocket_user、grpc_user、mqtt_user、socket_user— 詳見第 4 章。
以 Python API 執行
from je_load_density import start_test
start_test(
user_detail_dict={"user": "fast_http_user"},
user_count=50,
spawn_rate=10,
test_time=30,
variables={"base": "https://httpbin.org"},
tasks=[
{"method": "get", "request_url": "${var.base}/get"},
{"method": "post", "request_url": "${var.base}/post",
"json": {"hello": "world"},
"assertions": [{"type": "status_code", "value": 200}]},
],
)
啟動 Locust Web UI
start_test(
user_detail_dict={"user": "fast_http_user"},
user_count=50, spawn_rate=10, test_time=30,
web_ui_dict={"host": "127.0.0.1", "port": 8089},
tasks=[{"method": "get", "request_url": "https://httpbin.org/get"}],
)
之後在瀏覽器開啟 http://127.0.0.1:8089。
以 JSON 動作腳本執行
建立 test_scenario.json:
{"load_density": [
["LD_start_test", {
"user_detail_dict": {"user": "fast_http_user"},
"user_count": 20, "spawn_rate": 10, "test_time": 30,
"tasks": [{"method": "get", "request_url": "https://httpbin.org/get"}]
}],
["LD_generate_summary_report", {"report_name": "smoke"}]
]}
執行:
python -m je_load_density run test_scenario.json
或於 Python:
from je_load_density import execute_action, read_action_json
execute_action(read_action_json("test_scenario.json"))
下一步
為動作腳本參數化:見 參數解析器。
改用情境流程:見 情境模式。
升級到分散式 master/worker:見 分散式 Master / Worker。
啟動 Prometheus / InfluxDB / OTel 指標 sink:見 指標 Exporter。