乐趣区

关于java:性能测试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 脚本进行调试了。

集体博客 蜗牛

退出移动版