11-NO-GUI模式运行测试以及输出测试结果

Command Line运行Locust性能测试

一、使用headless参数,直接运行测试

实际压测场景,使用linux服务器作为压测机一般是没有可视化桌面的,因此需要用到--headless参数来来运行locust测试,如下

locust -f yourlocustfile.py --headless

在命令行中输入后回车,locust就会自动开始执行yourlocustfile.py这个文件

二、使用-u参数,指定并发用户数

配合--headless参数使用,可以在命令行中设置并发用户数,如下

locust -f yourlocustfile.py --headless -u 100

在命令行中输入后回车,locust就会自动开始执行yourlocustfile.py这个文件,并生成100个user并发执行

三、使用-r参数,设置每秒启动多少个并发用户数

假设设置并发数是100,希望100个用户在10秒逐步启动完成,那么使用-r参数,如下

locust -f yourlocustfile.py --headless -u 100 -r 10

-r 10代表每秒启动10个,直到用户数达到你设置的最大值

四、使用--csv参数,设置保存测试结果输出的路径

前面介绍的web端运行测试时,有测试结果显示,并且是可以下载聚合报告的,同样的命令行运行也有,那就是--csv

locust -f yourlocustfile.py --headless -u 100 -r 10 --csv /yourpath/yourcsvfilename
  • 需要注意的是,/yourpath这个路径必须存在,locust只会生成yourcsvfilename这个文件名的csv文件
  • yourcsvfilename不需要加.csv后缀

五、使用--html参数,输出html格式的测试报告

locust -f yourlocustfile.py --headless -u 100 -r 10 --html /yourpath/yourhtml.html
  • 和csv不同,文件名需要加.html后缀

六、控制测试时长or循环次数

locust项目本身只有一个-t的参数,用来控制运行时长,如下

locust -f yourlocustfile.py --headless -u 100 -r 10 -t 30s
  • -t 30s代表运行30s,也可以用1m代表1分钟,1h代表1小时

如果想控制任务执行次数,则需要使用另一个库,叫做locust-plugins,这也是locust作者开源的一个工具库,直接下载

pipenv install locust-plugins

然后需要在locustfile中引入这个包

import locust_plugins

这时在命令行中就可以只用该工具包的功能,如下

locust -f yourlocustfile.py -h
………………
locust-plugins - Extras:
  -i ITERATIONS, --iterations ITERATIONS
                        Run at most this number of task iterations and terminate once they have finished
  --console-stats-interval CONSOLE_STATS_INTERVAL
                        Interval at which to print locust stats to command line
  --ips IPS             Replace all wait_time:s with global iterations-per-second limiter

  • 注意需要locust -f yourlocustfile.py才能加载locust-plugins的参数
  • 这里有一个-i的参数,可以控制运行任务次数
locust -f yourlocustfile.py -i 10000
  • 代表task运行的次数总共为10000次

小结

locust还有很多命令参数,具体可以阅读locust -h打印出来的说明,还有一个比较常用的分布式运行的参数,我们留到后面再讲,这篇介绍的基本就是日常使用非常高频的参数,已经可以满足大部分需求

posted @ 2023-09-19 18:33  威力Kami  阅读(78)  评论(0编辑  收藏  举报