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脚本进行调试了。
集体博客 蜗牛