压测工具哪个好?LoadRunner、Jmeter、Locust、Wrk 全方位对比....

当你想做性能测试的时候,你会选择什么样的测试工具呢?是会选择wrk?jmeterlocust?还是loadrunner呢?今天,笔者将根据自己使用经验,针对jmeter、locust、wrk和loadrunner常用的性能测试工具进行简单介绍和对比。

首先,四者基本对比图:

由于loadrunner为商业收费模式,对于公司级测试使用而言涉及到授权问题,因此,本文暂不对loadrunner进行详细讨论。

01 wrk
wrk是轻量化的http性能测试工具,采用线程+网络异步IO模型,网络异步IO可以使得系统使用很少的线程模拟大量的网络连接以增大并发量、提高压力。

优点:
操作简单、易于使用

使用方式例如:
 
./wrk -c 1000 -t 8 -d 10s http://www.baidu.com
 
 
 
主要包括以下参数:
 
-t(--thread) 需要模拟的线程数
 
-c(connection) 需要模拟的连接数
 
--timeout 超时的时间
 
-d(--duration) 测试的持续时间

缺点:
wrk只支持http协议类型请求(如get、post等),但若是需要执行get之外的http类型请求需要使用者自行编写lua脚本;

只允许单机测试,不支持多机分布式压力测试,因此wrk适合性能基准测试,对于模拟上万的用户并发测试显得有点力不从心;

测试结果简单,无详细图表解析,举例如下;
wrk测试结果输出:

02 jmeter
jmeter同样采用线程并发机制,但其主要依靠增加线程数提高并发量,当单机模拟数以千计的并发用户时,对于CPU和内存的消耗比较大。与上述wrk相比,jmeter本身具有以下优点和缺点——

优点:
界面可视化操作,可以使用录制脚本方式对较为复杂的用户流建模,还可以创建断言来验证测试行为是否通过;

表格、图形、结果树等多类可视化数据分析和报告输出,举例如下;

jmeter聚合报告及表格查看结果:

支持http、ftp、tcp等多种协议类型测试;

支持分布式压力测试,但对于上万的用户并发测试需要多台测试机支持,资源要求比较大;

可以用于测试固定吞吐量下的系统性能,例如在100QPS(QPS:每秒查询率)下系统的响应时间和资源消耗;

缺点:

jmeter的GUI模式消耗资源较大,当需要测试高负载时,需要先使用GUI工具来生成XML测试计划,然后在非GUI模式下导入测试计划运行测试,并且关闭不需要的侦听器(收集数据与展示测量的组件),因为侦听器也会消耗掉本用于生成负载的大量资源。测试结束后后,需要将原始结果数据导入GUI以才能查看结果。

03 locust
locust是一个简单易用的分布式负载测试工具,主要用来对网站进行负载压力测试。locust使用python语言开发,测试资源消耗远远小于java语言开发的jmeter。且其支持分布式部署测试,能够轻松模拟百万级用户并发测试。与jmeter和wrk相比,locust具有以下优缺点:

优点:
不同与wrk和jmeter使用线程数提高并发量,locust借助于协程实现对用户的模拟,相同物理资源(机器cpu、内存等)配置下locust能支持的并发用户数相比jmeter可以提升一个数量级;

相比wrk对复杂场景测试的捉襟见肘和jmeter需要界面点击录制复杂场景的麻烦,locust只需用户使用python编写用户场景完成测试;

不同与jmeter复杂的用户使用界面,locust的界面干净整洁,可以实时显示测试的相关细节(如发送请求数、失败数和当前发送请求速度等);

locust虽然是面向web应用测试的,但是它可以用来测试几乎所有系统。给locust编写一个客户端,可以满足你所有的测试要求;

缺点:

同wrk一样,locust测试结果输出不如jmeter的测试结果展示类型多;

locust测试结果:

04 总结
本文简单介绍和对比了wrk、jmeter及locust三种性能测试工具,希望能给大家带来基础的认识。此外让我们最后一起来看看面临以下测试需求,我们应该如何在三者中进行选择:

1.我想使用界面操作的形式对我的系统做性能测试,并且希望我的测试数据有个良好的可视化展示方式;

建议使用jmeter工具

2.我想要对我系统的http rest接口进行性能测试,但是我之前没有进行过任何测试,我不知道我的系统QPS是个什么样的水平;

建议使用wrk工具

3.我想对我的系统模拟用户操作进行复杂场景的性能测试;

建议使用locust工具

4.我想测试我的系统在一定QPS情况下,一段时间内的性能指标(cpu消耗、内存消耗等);

建议使用jmeter工具

5.我想使用匀速请求的方式,对我的系统进行性能测试;

建议使用jmeter或locust工具

6.我想体验编程的乐趣,自己编写脚本进行性能测试;

http请求:wrk,使用lua语言编写脚本;

locust,使用python语言编写脚本;

或者,just do it by yourself,自己选择编程语言编写性能测试脚本。

05 附录
wrk 使用参数说明:

1、参数-c(connection,线链接数)与操作系统文件句柄数相关,-c不能超过文件句柄数设置,开始测试前应保证系统可用端口数大于-c设置;

2、参数-t(–thread,线程数)与操作系统cpu核数有关,-t不宜设置过大,过大的线程数设置反而会因线程调度反而使性能降低。如下图所示,操作系统为8核cpu:相同连接数和测试时长条件下,不同线程数对同一系统REST接口测试,从测试结果可以看出当thread=8(与cpu核数一致)时系统性能测试结果最佳,性能波动最小;

 8核cpu:相同连接数和测试时长条件下,不同线程数对同一系统REST接口测试结果对比图

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Jmeter各个版本下载地址(包括所有版本) [ ] apache-jmeter-2.10.tgz 2013-10-20 16:32 28M [TXT] apache-jmeter-2.10.tgz.asc 2013-10-20 16:32 836 [ ] apache-jmeter-2.10.tgz.md5 2013-10-20 16:32 56 [ ] apache-jmeter-2.10.tgz.sha 2013-10-20 16:32 64 [ ] apache-jmeter-2.10.zip 2013-10-20 16:32 30M [TXT] apache-jmeter-2.10.zip.asc 2013-10-20 16:32 836 [ ] apache-jmeter-2.10.zip.md5 2013-10-20 16:32 56 [ ] apache-jmeter-2.10.zip.sha 2013-10-20 16:32 64 [ ] apache-jmeter-2.11.tgz 2014-01-04 13:30 28M [TXT] apache-jmeter-2.11.tgz.asc 2014-01-04 13:30 836 [ ] apache-jmeter-2.11.tgz.md5 2014-01-04 13:30 56 [ ] apache-jmeter-2.11.tgz.sha 2014-01-04 13:30 64 [ ] apache-jmeter-2.11.zip 2014-01-04 13:30 30M [TXT] apache-jmeter-2.11.zip.asc 2014-01-04 13:30 836 [ ] apache-jmeter-2.11.zip.md5 2014-01-04 13:30 56 [ ] apache-jmeter-2.11.zip.sha 2014-01-04 13:30 64 [ ] apache-jmeter-2.12.tgz 2014-11-09 10:42 30M [TXT] apache-jmeter-2.12.tgz.asc 2014-11-09 10:42 836 [ ] apache-jmeter-2.12.tgz.md5 2014-11-09 10:42 56 [ ] apache-jmeter-2.12.tgz.sha 2014-11-09 10:42 64 [ ] apache-jmeter-2.12.zip 2014-11-09 10:42 32M [TXT] apache-jmeter-2.12.zip.asc 2014-11-09 10:42 836 [ ] apache-jmeter-2.12.zip.md5 2014-11-09 10:42 56 [ ] apache-jmeter-2.12.zip.sha 2014-11-09 10:42 64 [ ] apache-jmeter-2.13.tgz 2015-03-13 19:30 34M [TXT] apache-jmeter-2.13.tgz.asc 2015-03-13 19:30 819 [ ] apache-jmeter-2.13.tgz.md5 2015-03-13 19:30 56 [ ] apache-jmeter-2.13.tgz.sha 2015-03-13 19:30 64 [ ] apache-jmeter-2.13.zip 2015-03-13 19:30 36M [TXT] apache-jmeter-2.13.zip.asc 2015-03-13 19:30 819 [ ] apache-jmeter-2.13.zip.md5 2015-03-13 19:30 56 [ ] apache-jmeter-2.13.zip.sha 2015-03-13 19:30 64 [ ] apache-jmeter-2.6.tgz 2012-02-01 19:59 21M [TXT] apache-jmeter-2.6.tgz.asc 2012-02-01 19:59 836 [ ] apache-jmeter-2.6.tgz.md5 2012-02-01 19:59 55 [ ] apache-jmeter-2.6.tgz.sha 2012-02-01 19:59 63 [ ] apache-jmeter-2.6.zip 2012-02-01 19:59 23M [TXT] apache-jmeter-2.6.zip.asc 2012-02-01 19:59 836 [ ] apache-jmeter-2.6.zip.md5 2012-02-01 19:59 55 [ ] apache-jmeter-2.6.zip.sha 2012-02-01 19:59 63 [ ] apache-jmeter-2.7.tgz 2012-05-27 21:08 22M [TXT] apache-jmeter-2.7.tgz.asc 2012-05-27 21:08 836 [ ] apache-jmeter-2.7.tgz.md5 2012-05-27 21:08 55 [ ] apache-jmeter-2.7.tgz.sha 2012-05-27 21:08 63 [ ] apache-jmeter-2.7.zip 2012-05-27 21:08 24M [TXT] apache-jmeter-2.7.zip.asc 2012-05-27 21:08 836 [ ] apache-jmeter-2.7.zip.md5 2012-05-27 21:08 55 [ ] apache-jmeter-2.7.zip.sha 2012-05-27 21:08 63 [ ] apache-jmeter-2.8.tgz 2012-11-26 01:30 23M [TXT] apache-jmeter-2.8.tgz.asc 2012-11-26 01:30 836 [ ] apache-jmeter-2.8.tgz.md5 2012-11-26 01:30 55 [ ] apache-jmeter-2.8.tgz.sha 2012-11-26 01:30 63 [ ] apache-jmeter-2.8.zip 2012-11-26 01:30 25M [TXT] apache-jmeter-2.8.zip.asc 2012-11-26 01:30 836 [ ] apache-jmeter-2.8.zip.md5 2012-11-26 01:30 55 [ ] apache-jmeter-2.8.zip.sha 2012-11-26 01:30 63 [ ] apache-jmeter-2.9.tgz 2013-01-27 17:28 25M [TXT] apache-jmeter-2.9.tgz.asc 2013-01-27 17:28 836 [ ] apache-jmeter-2.9.tgz.md5 2013-01-27 17:28 55 [ ] apache-jmeter-2.9.tgz.sha 2013-01-27 17:28 63 [ ] apache-jmeter-2.9.zip 2013-01-27 17:28 27M [TXT] apache-jmeter-2.9.zip.asc 2013-01-27 17:28 836 [ ] apache-jmeter-2.9.zip.md5 2013-01-27 17:28 55 [ ] apache-jmeter-2.9.zip.sha 2013-01-27 17:28 63 [ ] apache-jmeter-3.0.tgz 2016-05-17 18:34 43M [TXT] apache-jmeter-3.0.tgz.asc 2016-05-17 18:34 819 [ ] apache-jmeter-3.0.tgz.md5 2016-05-17 18:34 55 [ ] apache-jmeter-3.0.tgz.sha 2016-05-17 18:34 63 [ ] apache-jmeter-3.0.zip 2016-05-17 18:34 46M [TXT] apache-jmeter-3.0.zip.asc 2016-05-17 18:34 819 [ ] apache-jmeter-3.0.zip.md5 2016-05-17 18:34 55 [ ] apache-jmeter-3.0.zip.sha 2016-05-17 18:34 63 [ ] apache-jmeter-3.1.tgz 2016-11-19 22:49 45M [TXT] apache-jmeter-3.1.tgz.asc 2016-11-19 22:49 801 [ ] apache-jmeter-3.1.tgz.md5 2016-11-19 22:49 55 [ ] apache-jmeter-3.1.tgz.sha 2016-11-19 22:49 63 [ ] apache-jmeter-3.1.zip 2016-11-19 22:49 48M [TXT] apache-jmeter-3.1.zip.asc 2016-11-19 22:49 801 [ ] apache-jmeter-3.1.zip.md5 2016-11-19 22:49 55 [ ] apache-jmeter-3.1.zip.sha 2016-11-19 22:49 63 [ ] apache-jmeter-3.2.tgz 2017-04-13 18:07 48M [TXT] apache-jmeter-3.2.tgz.asc 2017-04-13 18:07 833 [ ] apache-jmeter-3.2.tgz.md5 2017-04-13 18:07 55 [ ] apache-jmeter-3.2.tgz.sha 2017-04-13 18:07 63 [ ] apache-jmeter-3.2.zip 2017-04-13 18:07 51M [TXT] apache-jmeter-3.2.zip.asc 2017-04-13 18:07 833 [ ] apache-jmeter-3.2.zip.md5 2017-04-13 18:07 55 [ ] apache-jmeter-3.2.zip.sha 2017-04-13 18:07 63 [ ] apache-jmeter-3.3.tgz 2017-09-21 06:27 49M [TXT] apache-jmeter-3.3.tgz.asc 2017-09-21 06:27 833 [ ] apache-jmeter-3.3.tgz.md5 2017-09-21 06:27 55 [ ] apache-jmeter-3.3.tgz.sha512 2017-09-21 06:27 151 [ ] apache-jmeter-3.3.zip 2017-09-21 06:27 52M [TXT] apache-jmeter-3.3.zip.asc 2017-09-21 06:27 833 [ ] apache-jmeter-3.3.zip.md5 2017-09-21 06:27 55 [ ] apache-jmeter-3.3.zip.sha512 2017-09-21 06:27 151 [ ] jakarta-jmeter-2.5.1.tgz 2011-10-03 20:43 18M [TXT] jakarta-jmeter-2.5.1.tgz.asc 2011-10-03 20:43 836 [ ] jakarta-jmeter-2.5.1.tgz.md5 2011-10-03 20:43 58 [ ] jakarta-jmeter-2.5.1.tgz.sha 2011-10-03 20:43 66 [ ] jakarta-jmeter-2.5.1.zip 2011-10-03 20:43 20M [TXT] jakarta-jmeter-2.5.1.zip.asc 2011-10-03 20:43 836 [ ] jakarta-jmeter-2.5.1.zip.md5 2011-10-03 20:43 58 [ ] jakarta-jmeter-2.5.1.zip.sha 2011-10-03 20:43 66 ........................................
micro_focus_loadrunner_2022_community_edition.exe是一款测试工具软件。它是Micro Focus公司推出的LoadRunner系列产品的社区版。这个exe文件是软件的安装程序,用于在计算机上安装LoadRunner 2022社区版。 作为一款测试工具软件,LoadRunner社区版具有强大的功能和灵活性,适用于各种类型的应用程序和系统的性能测试。它能够模拟并模拟用户在实际环境中的行为,对系统进行压力测试,以评估系统在大量用户并发访问下的性能表现。 通过LoadRunner社区版,用户可以创建和执行各种测试脚本,包括Web、移动、数据库等多种类型的应用程序。它提供了丰富的测试功能,包括负载生成、性能监控、性能分析和报告生成等,以帮助用户全面评估系统的性能和稳定性。 LoadRunner社区版还提供了一个友好的用户界面和易于使用的脚本编写工具,使得用户可以轻松地创建和管理测试脚本。此外,它还支持与其他测试工具和系统集成,可以与多种开发环境和测试框架无缝连接。 Micro Focus LoadRunner 2022社区版通过提供免费的测试工具,为开发者和测试人员提供了一个学习和实践性能测试的平台。它能够帮助用户提前发现和解决应用程序和系统的性能问题,提高系统的可靠性和稳定性。 总之,micro_focus_loadrunner_2022_community_edition.exe是一款功能强大的测试工具软件,它提供了丰富的性能测试功能和易于使用的界面,帮助用户评估系统的性能表现并提高应用程序的可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值