版本
httpRunner3.0.1
locust 1.4.3
心得
- HttpRunner集成的Locust里的每个虚拟用户执行完一个完整的测试用例,然后才会执行下一次
- Locust中RPS(request per second)指标是接收到服务器响应的请求数。
- Locust 1.4.3与HttpRunner3.0.1集成,当接口有自定义的错误类型
Fail
时(例如ExtractError),#Requests
数据记录有问题,正确的应该是#Requests
再减去一遍#Fails
- Locust是基于Gevent的事件,在每个用户内部运行自己的Greenlet(轻量级进程/协程),所以单个进程可以处理成千上万的并发用户。
- Gevent会不会阻塞运行取决于Monkey Patch,目前HttpRunner运行Locust时只是Patch了SSL。这就是说假如代码里有time.sleep()语句,模拟用户将会进入阻塞模式执行用例,而不是切换至新的任务。
- 目前HttpRunner(3.0.1)集成的Locust是普通的Locust HttpUser模式,每核心每秒能够处理大约850个请求(2018年在MacBook Pro i7 2.6GHz测试)