软件性能测试之不同性能压测工具对比

本文选取了目前主流的几种性能压测工具,包括阿里云PTS、Apache JMeter、ApacheBench(ab)、wrk,为您从多方面分析这些压测工具的优缺点。

阿里云PTS

性能测试PTS(Performance Testing Service)是阿里云一款商业化的性能测试工具。支持按需发起压测任务,可支持百万并发、千万TPS流量发起能力,100%兼容JMeter。PTS支持的场景编排、API调试、流量定制、流量录制等功能,可快速创建业务压测脚本,精准模拟不同量级用户访问业务系统,帮助业务快速提升系统性能和稳定性。

阿里云PTS具备如下特性:

  • 免运维、开箱即用

    SaaS化施压、最大支持百万级并发、千万级TPS流量自助发起能力。

  • 支持多协议

    支持HTTP1.1/HTTP2/JDBC/MQTT/Kafka/RocketMQ/Redis/WebSocket/RMTP/HLS/TCP/UDP/Spring Cloud/Dubbo/gRPC等主流协议。

  • 支持流量定制

    支持全球施压地域定制、运营商流量定制、IPv6流量定制。

  • 稳定、安全

    阿里自研引擎、基于信号量模型、单机支持超高并发,历经多年阿里双十一场景验证可轻松模拟亿级别流量,更加稳定和安全。

  • 性能压测一站式解决方案

    无需编码即可构建复杂压测场景。覆盖压测场景构建、压测模型设定、启动压测、分析定位问题、查看压测报告等完整的压测生命周期。

  • 100%兼容开源JMeter

Jmeter高级性能测试实战

Apache JMeter

Apache JMeter是Apache组织开发的基于Java的压力测试工具。Apache JMeter具备如下特性:

  • 支持分布式施压。
  • 支持图形化界面,且支持流程编排,同时支持断言、逻辑控制器等高级指令,可满足复杂业务压测需求。
  • 扩展性强,开发、测试人员可通过编写自己的插件,满足各种压测需求。
  • 技术生态好,有强大的开源社区支持,开发者活跃度高。
  • 支持查看资源监控、性能报告,但可查看的监控和报告指标较少。
  • 基于并发模型,受限于JVM,单机无法支持超高并发。且只支持并发施压模型,不支持吞吐量施压模型。
  • 开源支持的分布式能力无法大规模应用到生产环境,部署成本高。
  • 不支持测试用例管理、压测脚本管理等功能。

ApacheBench

ApacheBench(ab)是一款针对HTTP协议做性能压测的命令行工具。ApacheBench具备如下特性:

  • 具有较好的扩展性。
  • 支持协议单一。对HTTP协议支持度较好,不支持主流的HTTPS、WebSocket等协议。
  • 支持请求总数、并发数、压测时长控制。
  • 作为一款命令行压测工具,上手较为简单。
  • 单机压测工具,无分布式施压能力,无可视化界面。
  • 不支持链路编排、场景管理等功能,无法做带业务含义的复杂压测。
  • 单次压测,只能对单个域名或地址发起流量请求。
  • 压测统计指标维度少,缺少压测过程中的统计数据,无法获取系统负载等指标。

wrk

wrk是一款针对HTTP协议的基准测试工具。wrk具备如下特性:

  • 轻量级性能测试工具,安装简单。
  • 学习成本低。
  • 基于异步事件驱动框架,单机支持并发高。
  • 单机压测工具,无分布式施压能力。
  • 只支持HTTP协议。
  • 无可视化界面,不支持流程编排、断言等能力,无法满足复杂压测需求。

总结

对比项阿里云PTSApache JMeterApacheBenchwrk
成本学习成本
部署、运维成本SaaS服务,免部署单机部署成本低、分布式部署成本高
是否收费开源、免费开源、免费开源、免费
分布式能力是否支持分布式施压是,但部署、运维成本高
压测引擎能力单机性能 、稳定性自研引擎,高
是否支持多协议支持支持不支持不支持
施压量级高,最大百万并发、千万TPS
压测场景构造是否支持客户端录制流量支持,支持Chrome/iOS/Android录制器不支持不支持不支持
是否支持流程编排支持,无需编码支持不支持不支持
是否支持出参提取、断言、逻辑控制器等支持支持不支持不支持
压测数据构造是否支持文件数据源支持支持不支持不支持
是否支持从DB中读取数据作为压测数据源支持不支持 ,需自己实现不支持不支持
是否支持使用函数生成或者二次加工压测数据支持支持不支持不支持
压测模型构造是否支持并发模型支持支持支持支持
是否支持吞吐量模型支持不支持支持支持
是否支持流量漏斗模型支持不支持不支持不支持
是否支持自动递增、阶梯递增等流量模型支持支持不支持不支持
压测流量构造是否支持多地域流量定制支持不支持,依赖自己部署不支持,依赖自己部署不支持,依赖自己部署
是否支持IPv6流量支持不支持,依赖自己部署不支持,依赖自己部署不支持,依赖自己部署
压测流量控制是否支持压测过程中手动调速支持不支持不支持不支持
是否支持施压过程中动态扩展最大压力、施压机引擎支持不支持不支持不支持
压测数据可视化是否支持压测过程中多维度实时指标监控实时秒级数据、多维度分析支持,但分析维度有限不支持不支持
是否支持压测报告支持完整压测报告支持,报告较简单支持,报告较简单支持,报告较简单
是否支持关联被压系统监控数据支持,可关联阿里云云监控数据不支持不支持不支持
是否支持性能基线能力支持不支持不支持不支持

Jmeter高级性能测试实战

Fiddler接口抓包神器使用教程

软件测试之移动端测试系列

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

传说三哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值