locust运行模式记录

pip3 install locust安装

官网: https://www.locust.io/

官方使用文档:https://docs.locust.io/en/latest/

 运行Locust时,通常会使用到两种运行模式:单进程运行多进程分布式运行

一,单进程运行模式

Locust所有的虚拟并发用户均运行在单个Python进程中,具体从使用形式上,又分为no_webweb两种形式。该种模式由于单进程的原因,并不能完全发挥压力机所有处理器的能力,因此主要用于调试脚本和小并发压测的情况。

1,Locust web模式

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

  • -P, --port:指定web端口,默认为8089.
  •  终端中--->进入到代码目录: locust     -f    locustfile.py     --host = xxxxx.com      
  • -f            指定性能测试脚本文件
  • -host      被测试应用的URL地址【如果不填写,读取继承(HttpLocust)类中定义的host】
  • Locust默认使用该方式启动,启动后在本机打开http://localhost:8089,可以看到Locust WEB页面,设置并发用户数及每秒请求数后即可开始性能测试。

    启动参数:

     Number of users to simulate    设置虚拟用户数,对应中no_web模式的-c, --clients参数;

     Hatch rate(users spawned/second)每秒产生(启动)的虚拟用户数, 对应着no_web模式的-r, --hatch-rate参数,默认为1。点击Start swarming 按钮,开始运行性能测试。

2,Locust no-web模式

命令行运行 Locust 测试:

  locust -f  test.py --host=https://www.baidu.com --no-web -c 10 -r 2 -t 1m

启动参数:

  –no-web 表示不使用Web界面运行测试。

  -c 设置虚拟用户数。

  -r 设置每秒启动虚拟用户数。

  -t 设置设置运行时间。

 二,多进程分布式运行

 当并发压力要求较高时,就需要用到Locust的多进程分布式运行模式。从字面意思上看,大家可能第一反应就是多台压力机同时运行,每台压力机分担负载一部分的压力生成。的确,Locust支持任意多台压力机(一主多从)的分布式运行模式,但这里说到的多进程分布式运行模式还有另外一种情况,就是在同一台压力机上开启多个slave的情况。这是因为当前阶段大多数计算机的CPU都是多处理器(multiple processor cores),单进程运行模式下只能用到一个处理器的能力,而通过在一台压力机上运行多个slave,就能调用多个处理器的能力了。比较好的做法是,如果一台压力机有N个处理器内核,那么就在这台压力机上启动一个master,N个slave。当然,我们也可以启动N的倍数个slave,但是根据我的试验数据,效果跟N个差不多,因此只需要启动N个slave即可。

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

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

# 启动master
locust -f monitorAgent.py --master --port=8089

启动slave时需要使用--slave参数;在slave中,就不需要再指定端口了。master启动后,还需要启动slave才能执行测试任务。

#启动slave
locust -f monitorAgent.py --slave

master和slave都启动完毕后,就可以在浏览器中通过http://locust_machine_ip:8089进入Locust的Web管理页面了。
使用方式跟单进程web形式完全相同,只是此时是通过多进程负载来生成并发压力,在web管理界面中也能看到实际的slave数量。
如果slave与master不在同一台机器上,还需要通过--master-host参数再指定master的IP地址。

 

#如果slave与master不在同一台机器上,还需要通过--master-host参数再指定master的IP地址
locust -f monitorAgent.py --slave --master-host=ip

 

  Number of users to simulate    设置虚拟用户数,对应中no_web模式的-c, --clients参数;

 Hatch rate(users spawned/second)每秒产生(启动)的虚拟用户数, 对应着no_web模式的-r, --hatch-rate参数,默认为1。点击Start swarming 按钮,开始运行性能测试。

host  测试接口的ip地址

 

 性能测试参数:

  • Type: 请求的类型,例如GET/POST。

  • Name:请求的路径。

  • request:当前请求的数量。

  • fails:当前请求失败的数量。

  • Median:中间值,单位毫秒,一半的服务器响应时间低于该值,而另一半高于该值。

  • Average:平均值,单位毫秒,所有请求的平均响应时间。

  • Min:请求的最小服务器响应时间,单位毫秒。

  • Max:请求的最大服务器响应时间,单位毫秒。

  • Content Size:单个请求的大小,单位字节。

  • reqs/sec:是每秒钟请求的个数。

 https://www.cnblogs.com/ailiailan/p/9474973.html

posted @ 2022-09-16 16:30  青城杂文录  阅读(99)  评论(0编辑  收藏  举报