參考文檔:https://docs.locust.io/en/latest/quickstart.htmlphp
一、安裝
這個工具是用python寫的,首先咱們要安裝框架html
首先升級pip,否則可能會報錯 pip install --upgrade pip 而後安裝Locust pip install Locust 安裝完成
二、編寫Locust filepython
這裏是壓測軟件的主要功能web
vim locustfile.py vim
from locust import HttpLocust, TaskSet #登錄操做 def login(l): l.client.post("/phpadmin/index.php", {"pma_username":"hugw", "pma_password":"redhat"}) #登出操做 def logout(l): l.client.post("/phpadmin/logout.php", {"db":"&", "token":"be2cb767a5829a398ef5a4c0dcafe504"}) #請求index def index(l): l.client.get('/phpadmin/index.php') class UserBehavior(TaskSet): tasks = {index} #執行登錄和登出 def on_start(self): login(self) def on_stop(self): logout(self) class WebsiteUser(HttpLocust): task_set = UserBehavior min_wait = 3000 max_wait = 6000
啓動壓測程序
若是配置文件名字是locustfile.py,那麼直接運行就好
啓動成功會監聽8089端口,
這裏的 http://192.168.1.9 是要壓測的網站域名框架
[root@slave locust]# locust -H http://192.168.1.9 [2018-04-12 19:41:37,086] slave/INFO/locust.main: Starting web monitor at *:8089 [2018-04-12 19:41:37,086] slave/INFO/locust.main: Starting Locust 0.8.1
配置壓測集羣(可選)ide
啓動壓測主程序,跟上面同樣,後面加上參數 --master
啓動成功會監聽8089端口,
這裏的 http://192.168.1.9 是要壓測的網站域名工具
[root@slave locust]# locust -H http://192.168.1.9 --master [2018-04-12 22:20:12,889] slave/INFO/locust.main: Starting web monitor at *:8089 [2018-04-12 22:20:12,891] slave/INFO/locust.main: Starting Locust 0.8.1 [2018-04-12 22:20:47,669] slave/INFO/locust.runners: Client 'k8s_cf9d5e7c4238f74363180e5b3dcb0ae4' reported as ready. Currently 1 clients ready to swarm. [2018-04-12 22:21:02,066] slave/INFO/locust.runners: Sending hatch jobs to 1 ready clients [2018-04-12 22:21:12,069] slave/INFO/locust.runners: Resetting stats
啓動slave
先把 locustfile.py 分發到slave機器上,安裝locust,而後啓動post
[root@k8s locust]# locust -H http://192.168.1.9 --slave --master-host=master_IP [2018-04-12 02:21:48,045] k8s/INFO/locust.main: Starting Locust 0.8.1 [2018-04-12 02:22:02,487] k8s/INFO/locust.runners: Hatching and swarming 20 clients at the rate 2 clients/s... [2018-04-12 02:22:12,509] k8s/INFO/locust.runners: All locusts hatched: WebsiteUser: 20 [2018-04-12 02:22:12,509] k8s/INFO/locust.runners: Resetting stats
而後登錄master壓測就好了性能
三、開始壓測
填寫你要模擬的用戶數量,這裏填500用戶,以每秒50數量增長,點擊start 開始
查看壓測請求狀況
查看圖表