为了账号安全,请及时绑定邮箱和手机立即绑定

性能测试-Locust分布式执行

1、单进程运行

如果采用no_web形式,则需使用–no-web参数,并会用到如下几个参数。

-c, --clients:指定并发用户数;

-n, --num-request:指定总执行测试;

-r, --hatch-rate:指定并发加压速率,默认值位1。

locust -H http://debugtalk.com -f demo.py --no-web -c1 -t2

如果采用web形式,,则通常情况下无需指定其它额外参数,Locust默认采用8089端口启动web;如果要使用其它端口,就可以使用如下参数进行指定。

-P, --port:指定web端口,默认为8089.

locust -H http://debugtalk.com -f demo.py

2、多进程分布式运行

不管是单机多进程,还是多机负载模式,运行方式都是一样的,都是先运行一个master,再启动多个slave。

启动master时,需要使用–master参数;同样的,如果要使用8089以外的端口,还需要使用-P, --port参数。

locust -H http://debugtalk.com -f demo.py --master --port=8088

locust -H http://debugtalk.com -f demo.py --slave

如果slave与master不在同一台机器上,还需要通过–master-host参数再指定master的IP地址。

locust -H http://debugtalk.com -f demo.py --slave --master-host=<locust_machine_ip>

3、脚本调试

Locust脚本编写完毕后,通常不会那么顺利,在正式开始性能测试之前还需要先调试运行下。

不过,Locust脚本虽然为Python脚本,但却很难直接当做Python脚本运行起来,为什么呢?这主要还是因为Locust脚

本中引用了HttpUser和TaskSet这两个类,如果要想直接对其进行调用测试,会发现编写启动脚本是一个比较困难的

事情。因为这个原因,刚接触Locust的同学可能就会觉得Locust脚本不好调试。

但这个问题也能克服,那就是借助Locust的单进程no_web运行模式。

在Locust的单进程no_web运行模式中,我们可以通过–no_web参数,指定并发数(-c)和总执行次数(-n),直接在

Terminal中执行脚本。

在此基础上,当我们想要调试Locust脚本时,就可以在脚本中需要调试的地方通过print打印日志,然后将并发数和总执

行次数都指定为1,执行形式如下所示。

$ locust -f locustfile.py --no_web -c 1 -t 1

通过这种方式,我们就能很方便地对Locust脚本进行调试了。

个人博客 蜗牛

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消