LoadRunner和Locust的一次对比

发表于:2019-10-22 11:59

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:测者陈磊    来源:思否

  LoadRunner
  LoadRunner,是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。企业使用LoadRunner能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。 LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。
  Locust
  Locust是一个开源负载测试工具。使用 Python 代码定义用户行为,也可以仿真百万个用户。Locust 是非常简单易用,分布式,用户负载测试工具。Locust 主要为网站或者其他系统进行负载测试,能测试出一个系统可以并发处理多少用户Locust 是完全基于时间的,因此单个机器支持几千个并发用户。相比其他许多事件驱动的应用,Locust 不使用回调,而是使用轻量级的处理方式协程。
  模拟的场景及设置
  200并发,执行接口的get请求,访问同一个服务,执行时间5分钟,每秒启动50个并发访问的请求。全部访问没有思考时间,每次迭代间隔无等待。等到达测试时间后,结束测试,全部进入结束流程无逐渐退出设置。
  LoadRunner的场景设置
  上面的场景设置的含义就是,并发200用户,每秒钟启动50个虚拟用户,压力持续5分钟结束后全部退出。
  Locust的场景设置
  locust -f test_get.py --host=http://www.XXXXXXX.com --no-web -c 200 -r 50 -t 5m
  参数定义:
  --no-web 表示不使用Web界面运行测试。
  -c 设置虚拟用户数。
  -r 设置每秒启动虚拟用户数。
  -t 设置设置运行时间
  --host=http://www.XXXXXXX.com 指定被测试应用的URL的地址,注意访问HTTPS的网址需要使用的HTTPS协议。
  上面的场景含义就是不适用web页面启动测试,测试http://www.XXXXXXX.com地址,压力200虚拟用户,每秒钟启动50个虚拟用户,测试共运行5分钟.
  结果对比
  LoadRunner测试结果
  从上面的测试结果看,LoadRunner共计运行5分32秒,发送请求26599次,最小响应时间为0.024秒,平均响应时间为0.36秒,最大响应时间为18.05秒,90分位数为0.287秒,无失败的访问。
  Locust测试结果
  Name # reqs # fails Avg Min Max | Median req/s
  GET XXXXXXXXXXXXXXXXXXXXXX 42099 0(0.00%) 1394 29 17028 | 1300 160.40
  Total 42099 0(0.00%) 160.40
  Percentage of the requests completed within given times
  Name # reqs 50% 66% 75% 80% 90% 95% 98% 99% 100%
  GET XXXXXXXXXXXXXXXXXXXXXX 42099 1300 1300 1300 1400 1500 1600 1800 2700 17000
  Total 42099 1300 1300 1300 1400 1500 1600 1800 2700 17000
  从Locust的结果看,访问共计发送请求42099次,最小响应时间为29毫秒,最大响应时间为17028毫秒,平均响应时间为1394毫秒,90分位数为1500毫秒,无失败的访问。
  对比
  |工具|最小响应时间(毫秒)|最大响应时间(毫秒)|平均响应时间(毫秒)|90分位数(毫秒)|发送请求数|
  |LoadRunner|24|18050|360|287|26599|
  |Locust|29|17028|1394|1500|42099|
  从上面可以看出来,两个工具在最大的响应时间和最小的响应时间处理差不多,但是Locust发送请求的效率比LoadRunner要大很多,因此会导致服务端处理的请求会更多。
  平均响应时间上,LoadRunner的结果优于Locust,90分位数也优于Locust,这可能出现的原因是因为Locust发送请求的机制更快,单位时间内发送请求更多,从而导致服务端要处理的请求更多,影响了响应时间的结果。
  但是性能测试无论用哪个工具都是一个相对结果,因此我们只要保证在测试、优化过程中用同一个工具、相同的网络环境进行测试,就可以达到我们性能测试和优化的原始工作的预期的。

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号