目录
前言
- 一旦单台计算机不足以模拟所需的用户数量,Locust就会支持运行分布在多台计算机上的负载测试。
- 为此,您可以使用该
--master
标志在主模式下启动Locust的一个实例,使用该--worker
标志以及--master-host
(指定主节点的IP /主机名)来启动一个或-可能是多个工人Locust节点。
脚本
# -*- coding: utf-8 -*-
# @Time : 2021/4/10
# @Author : 大海
import os
from locust import HttpUser, task, constant
class MyUser(HttpUser):
wait_time = constant(1)
@task
def my_task(self):
self.client.get('/')
if __name__ == '__main__':
file_path = os.path.abspath(__file__)
os.system(f'locust -f {file_path} --master --web-host=127.0.0.1')
启动
- 启动master:locust -f my_loucstfile.py --master
- 启动worker:locust -f my_loucstfile.py --worker --master-host=127.0.0.1
参数
- --master:设置为主节点
- --worker:设置为负载节点
- --master-host:(可选)与
--worker
设置主节点的主机名/ IP一起使用(默认为127.0.0.1) - --master-port:(可选)与
--worker
一起设置主节点的端口号(默认为5557) - --master-bind-host:可选与一起使用
--master
。确定主节点将绑定到的网络接口。默认为*(所有可用接口) - --master-bind-port:可选与一起使用
--master
。确定主节点将侦听的网络端口。默认为5557 - --expect-works:使用启动主节点时使用
--headless
。然后,主节点将等待,直到X个工作节点已连接,然后才能开始测试
效果