Locust快速入門
Locust,基於Python的性能測試工具。
什麼是Locust
本文Locust版本
原文地址:http://docs.locust.io/en/latest/quickstart.html#
示例
下面是一個簡單的 小示例:
from locust import HttpLocust, TaskSet def login(l): l.client.post("/login", {"username":"ellen_key", "password":"education"}) def index(l): l.client.get("/") def profile(l): l.client.get("/profile") class UserBehavior(TaskSet): tasks = def on_start(self): login(self) class WebsiteUser(HttpLocust): task_set = UserBehavior min_wait = 5000 max_wait = 9000
這裡我們定義了一些帶一個參數( 類實例)正常Python回調的Locust任務。這些任務在 屬性中 類被聚集。接下來,我們有一個代表一個用戶的 類,這裡我們定義多久一個模擬用戶應該等待在執行任務之間,同時 類應該定義用戶 .python類 可以被嵌入。
類從 類中繼承,它有一個用於發送HTTP請求的 屬性在客戶端屬性中。
另外一種方式,我們可以使用另外一種更簡潔的方法聲明任務,就是使用 聲明。下面的代碼和上面的代碼一致:
from locust import HttpLocust, TaskSet, task class UserBehavior(TaskSet): def on_start(self): """ on_start is called when a Locust start before any task is scheduled """ self.login() def login(self): self.client.post("/login", {"username":"ellen_key", "password":"education"}) @task(2) def index(self): self.client.get("/") @task(1) def profile(self): self.client.get("/profile") class WebsiteUser(HttpLocust): task_set = UserBehavior min_wait = 5000 max_wait = 9000
類(在子類中也叫 類)可以指定針對每一個模擬用戶在執行任務之間設置最小和最大的等待時間(min_wait和max_wait),像用戶行為一樣。
啟動Locust
為了運行上面的Locust文件,如果文件被命名為 並保存在當前目錄,我們可以直接運行:
locust --host=http://example.com
如果Locust文件在子文件夾或命名與 不一致時,可以通過參數 :
locust -f locust_files/my_locust_file.py --host=http://example.com
運行Locust的分布式多線程,我們應該啟動master通過參數 :
locust -f locust_files/my_locust_file.py --master --host=http://example.com
接下來我們可以啟動slave線程:
locust -f locust_files/my_locust_file.py --slave --host=http://example.com
如果我們想運行Locust在多台機器,在啟動slaves時,我們應該指定master地址(這不是必須的,當運行Locust分布式在同一台機器時,master的默認地址是127.0.0.1):
locust -f locust_files/my_locust_file.py --slave --master-host=192.168.0.100 --host=http://example.com
查看所有的選項,輸入:
locust --help
※從為什麼 String=String 談到 StringBuilder和StringBuffer
※飛機製造巨頭空客想搞飛行汽車,草圖都已經畫出來了
※看上腦電穿戴設備市場,宏智力已擁有7萬APP註冊用戶,形成社群化優勢
※獨角獸的成功之路
TAG:推酷 |