分享

locust入门 -6 无图模式和分布式执行

 孟船长 2022-03-26

无图模式

无图模式即不通过UI界面进行执行locust测试用例。locust提供了命令参数,我们只需要在执行时添加一个--headless标签即可

Disable the web interface, and start the test immediately. Use -u and -t to control user count and run time

以下内容为一个命令行命令,为了方便查看,我做了换行处理

 locust -f 被执行文件名.py
--headless
-u 6
-t 5
-r 2
-H https://api.weixin.qq.com
-- csv demolocust
  • -u: 表示用户数
  • -t: 表示执行时间
  • -r: 表示每秒增加用户数(Spawn rate)
  • -H: 即--host
  • --csv: 保存执行数据到csv文件

执行以后就可以看到项目文件夹中得到4个csv文件:

分布式执行

分布式模式下执行分两种情况

  1. 你的主机/Master和从属/worker在一台机器上
  2. 你的主机和从属在不同的机器上

主机master和从属worker在同一台机器上

  1. 先启动主机命令
locust -f 执行文件名.py --master
  1. 回到桌面,打开命令行/cmd,然后切换到你的项目目录,执行命令
locust -f 文件名.py --worker

执行以后回到Pycharm,就可以看到你的主机有了响应

如果你想在一台机器上启动多个worker,就重复步骤二即可。

随着你的增加,Currently n clients显示数量也会增加。

然后来到web端写入用户数和增长率点击执行以后,就会在master看到任务被分配给worker了:

而在worker里,则显示了打印的信息:

注意一般不建议启动无限多的从属任务,启动多少个worker从属可以根据你的电脑是多少核,几核的电脑就启动多少个worker。

主机master和从属worker在不同机器上

思路一样,只是命令有些变化

首先把你的项目拷贝到从属机器上,然后在Master机器上启动主进程

locust -f 文件名.py --master

然后到你的另一台机器上启动从属进程

locust -f 文件名.py --worker --master-host 主机IP --master-port 5557
  • 先启动master还是先启动worker不影响
  • 5557是默认端口,如果没有修改过端口,--master-port 5557可以不写
官方文档

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多