在性能测试工作中,我们常常会遇到好几个工具,但是每一个工具都有自己的优势,一时间不知道怎么选择。
今天我们就将性能测试常用的工具进行对比,这样大家在选择工具的时候心里就有底啦!
阿里云PTS
性能测试PTS(Performance Testing Service)是阿里云一款商业化的性能测试工具。支持按需发起压测任务,可支持百万并发、千万TPS流量发起能力,100%兼容JMeter。
PTS支持的场景编排、API调试、流量定制、流量录制等功能,可快速创建业务压测脚本,精准模拟不同量级用户访问业务系统,帮助业务快速提升系统性能和稳定性。
阿里云PTS具备如下特性:
1、免运维、开箱即用
SaaS化施压、最大支持百万级并发、千万级TPS流量自助发起能力。
2、支持多协议
支持HTTP1.1/HTTP2/JDBC/MQTT/
Kafka/RocketMQ/Redis/WebSocket/RMTP/HLS/TCP/UDP/Spring Cloud/Dubbo/gRPC等主流协议。
3、支持流量定制
支持全球施压地域定制、运营商流量定制、IPv6流量定制。
4、稳定、安全
阿里自研引擎、基于信号量模型、单机支持超高并发,历经多年阿里双十一场景验证可轻松模拟亿级别流量,更加稳定和安全。
5、性能压测一站式解决方案
无需编码即可构建复杂压测场景。覆盖压测场景构建、压测模型设定、启动压测、分析定位问题、查看压测报告等完整的压测生命周期。
6、100%兼容开源JMeter
Apache JMeter
Apache JMeter是Apache组织开发的基于Java的压力测试工具。
Apache JMeter具备如下特性:
1、支持分布式压测。
2、支持图形化界面,且支持流程编排,同时支持断言、逻辑控制器等高级指令,可满足复杂业务压测需求。
3、扩展性强,开发、测试人员可通过编写自己的插件,满足各种压测需求。
4、技术生态好,有强大的开源社区支持,开发者活跃度高。
5、支持查看资源监控、性能报告,但可查看的监控和报告指标较少。
6、基于并发模型,受限于JVM,单机无法支持超高并发。且只支持并发施压模型,不支持吞吐量施压模型。
7、开源支持的分布式能力无法大规模应用到生产环境,部署成本高。
8、不支持测试用例管理、压测脚本管理等功能。
LoadRunner
LoadRunner是一种预测系统行为和性能的负载测试工具,通过模拟实际用户的操作行为进行实时性能监测,来帮助测试人员更快的查找和发现问题。
LoadRunner适用于各种体系架构,能支持广泛的协议和技术,为测试提供特殊的解决方案。企业通过LoadRunner能最大限度地缩短测试时间,优化性能并加速应用系统的发布周期。
LoadRunner提供了3大主要功能模块:
VirtualUser Generator(用于录制性能测试脚本),
LoadRunner Controller(用于创建、运行和监控场景),
LoadRunner Analysis(用于分析性能测试结果)既可以作为独立的工具完成各自的功能,又可以作为LoadRunner的一部分彼此衔接,与其他模块共同完成软件性能的整体测试。
LoadRunner具备如下特性:
1、按需生产工作量
能够驱动成百上千个虚拟用户、执行不同的业务流程、模拟已部署应用程序将要面临的生产条件。
2、企业环境支持虚拟用户后,测试过程便自动化了。
LoadRunner提供广泛的测试环境,支持多种协议和平台。它使得降低总体拥有成本(TCO)称为可能。
3、企业监控支持
HP LoadRunner拥有非侵入性的实时性能监控程序,可提供被测系统所有部分的详细指标。这包括Web服务器、应用程序服务器、数据库、企业资源规划(ERP)和CRM系统、防火墙和负载平衡器。HP LoadRunner可识别硬件局限和软件配置问题
4、诊断
HP LoadRunner可跟踪、计时处于负载情况下的单独应用程序组件,并可排除故障。可从缓慢的最终用户交易着手,深入查明导致变慢的瓶颈方法或SQL语句。这样详细的结果有助于每个负载测试向开发人员提供最终可采取的行动,减少优化J2EE、Siebel和Oracle部署所需的成本与时间。
5、自动分析
HP LoadRunner的AutoCorrelation向导会自动整理所有的监控和诊断数据,并计算导致性能降低的最主要的5个原因。可将性能测试结果转化为可处理的精确数据,从而使开发团队大大减少了解决时间,并允许执行更多的测试周期。这会帮助您将高质量的应用程序投入生产。
6、简易使用
HP LoadRunner是从底层为QA用户构建的。它提送可视化脚本语言、数据和AutoCorrelation向导及ActiveScreen技术,使得编写脚本和运行负载测试简单易行。因此带来更短的起步时间、更快的ROI以及在数周培训之内就能进行性能测试。
7、高度可扩展性
HP LoadRunner对于在有限的硬件条件下的高度可扩展性来说,每个虚拟用户需要较低的CPU和内存资源。这有助于降低实施过程中潜在的硬件成本。
8、统一的脚本引擎
HP LoadRunner与HP Business Availability Center软件具有相同的脚本引擎。这将降低培训成本、脚本开发成本以及HP软件的TCO(Total Cost of Ownership,总体拥有成本)
Locust
locust 主要特点如下:
1、使用普通的Python脚本用户测试场景
2、分布式和可扩展,支持成千上万的用户
3、基于Web的用户界面,用户可以实时监控脚本运行状态
4、几乎可以测试任何系统,除了web http接口外,还可自定义clients测试其他类型系统
在项目中,根据项目的实际情况去选择相应的工具,或者根据你擅长的工具去使用,能实现要获取的数据即可。