转自:https://cloud.tencent.com/developer/article/1438828
在软件测试日常工作中,大家接触得比较多的性能测试工具有LoadRunner和Jmeter,这里整理了web应用程序性能和负载压力能力的最广泛使用的性能测试工具的综合列表。
这些负载测试工具将确保您的应用程序在高峰流量和极端压力条件下的性能。
该列表包括开源的以及授权的性能测试工具。但是几乎所有的授权工具都有一个免费的试用版本,这样您就可以在决定哪种工具最适合您的需求之前有机会亲自动手。
顶级的性能测试工具
- WebLOAD
web应用程序的企业级负载和性能测试工具。WebLOAD是用户负载大、测试需求复杂的企业的首选工具。
它允许您通过从云和本地机器生成负载,在任何internet应用程序上执行负载和压力测试。
WebLOAD的优势在于它的灵活性和易用性——允许您使用基于dom的录制/回放、自动相关性和JavaScript脚本语言等特性快速定义所需的测试。
该工具提供了对web应用程序性能的清晰分析,指出了可能阻碍实现负载和响应需求的问题和瓶颈。
其测试脚本是用Javascript(和集成的COM/Java对象)编写的,并支持多种协议,如Web(包括AJAX在内的REST/HTTP)、SOAP/XML及其他可从脚本调用的协议如FTP、SMTP等,因而可从所有层面对应用程序进行测试。
WebLOAD存在免费和专业两个版本,免费版本支持50个虚拟用户,专业版还提供更多的报告和协议供用户选择。Web
通常用作QA团队的独立运行工具,在开发周期的验证阶段,被测系统(System Under Test,SUT)投入实用之前,在模拟环境中对被测系统进行测试。
WebLOAD支持数百种技术——从web协议到企业应用程序,并内置与Jenkins、Selenium和许多其他工具的集成,以支持DevOps的持续负载测试。
系统要求:Windows, Linux
官网:https://www.radview.com/
- LoadUI NG Pro
LoadUI支持REST、SOAP、JMS、MQTT和许多其他API格式。LoadUI易于使用的图形界面使新用户可以轻松地设置加载场景,并为具有更多经验的用户提供高级脚本功能。
这个工具允许您花费比手动配置和构建测试更多的时间来分析结果。通过使用LoadUI报告服务器性能数据的功能,您可以了解更多关于应用程序的信息。
您可以为负载测试场景设置本地或全局分布的负载代理。LoadUI NG Pro允许您从SoapUI和SoapUI NG Pro重用现有的功能测试用例。
系统要求:Windows, Linux, Mac OS
官网:https://smartbear.com/product/ready-api/loadui/overview/
- SmartMeter.io
这个负载和性能测试工具提供了高级的测试功能。以JMeter为核心,任何用户都会立即熟悉它。
在SmartMeter中创建一个测试。io非常简单。只需在嵌入式浏览器中单击,就可以在不编写脚本的情况下创建测试场景。也不需要代理设置或浏览器插件。
它的功能是自动生成包含测试及其结果的所有细节的报告。结果包含自动评估的验收标准、统计信息、图形比较工具和多个测试运行的趋势分析。
该工具在分布式测试、CI集成方面也很强大,并为Vaadin应用程序提供了无与伦比的性能测试支持。
系统要求:Windows, Linux, Mac OS
官网:https://www.smartmeter.io/
- Tricentis Flood
Tricentis Flood是一个基于云的分布式负载测试平台,可以帮助团队测试他们的应用程序如何通过来自世界各地的大量负载进行扩展。Flood可以使用流行的开源负载测试工具(如Apache JMeter、Flood Element、Gatling和Chrome)以及Tricentis Tosca功能测试用例(API和UI)生成负载。
Flood可以轻松集成Jenkins、Bamboo等CI工具,以及New Relic、AppDynamics、Dynatrace等最流行的APM工具。此外,Flood还可以与AWS和Azure等提供商集成到您自己的私有主机帐户中。
Flood的免费试用带有5个节点小时,可以用来启动负载测试。订阅有灵活的选项来满足您的预算,有不同的测试容量、特性、托管和期限长度选项。
官网:https://flood.io/
- LoadView
LoadView是一个完全管理的、随需应变的负载测试工具,允许进行完全无干扰的负载和压力测试。
与许多其他负载测试工具不同,LoadView在真实的浏览器(而不是无头的虚拟浏览器)中执行测试,它提供非常准确的数据,与真实用户非常接近。
LoadView是100%基于云的、可伸缩的,可以在几分钟内部署。高级负载测试功能包括:点按脚本、基于云的全球基础设施、真正的浏览器测试
官网:https://www.loadview-testing.com/
- Apache JMeter
开源负载测试工具:它是一个Java平台应用程序。它主要被认为是一种性能测试工具,也可以与测试计划集成。除了负载测试计划,您还可以创建一个功能测试计划。该工具具有加载到服务器或网络的能力,可以检查其性能并分析其在不同条件下的工作。
官网:http://jmeter.apache.org/
- LoadRunner
此工具使您能够收集与性能相关的所有必需信息,并基于基础设施。所述LoadRunner包括不同的工具;即虚拟用户生成器、控制器、负载生成器和分析。
系统要求:Microsoft Windows和Linux
官网:https://www.microfocus.com/en-us/home
- Rational performance tester
Rational performance tester是一种自动化的性能测试工具,它可以用于web应用程序或者基于服务器的应用程序,在这些应用程序中包含一个输入和输出的过程。
此工具创建用户和web服务之间原始事务流程的演示。最后,收集所有的统计信息并进行分析,以提高效率。
网站或服务器上的任何泄漏都可以通过此工具立即识别和纠正。
这个工具是构建有效且无错误的云计算服务的最佳选择。
这个Rational Performance tester是由IBM (Rational software division)开发的。他们已经提出了这个自动化测试工具的许多版本。
系统要求:Microsoft Windows和Linux AIX
官网:https://www.ibm.com/developerworks/downloads/r/rpt/
- NeoLoad
一个用来测量和分析网站性能的工具。使用此工具可以评估性能和最终结果,并且可以采取任何进一步的步骤。这有助于改进和优化web应用程序的性能。该工具通过增加网站流量来分析web应用程序的性能,可以确定在高负载下的性能。
可真实地模拟用户活动并监视基础架构运行状态,从而消除所有Web和移动应用程序中的瓶颈。NeoLoad通过使用无脚本GUI和一系列自动化功能,可让测试设计速度提高5-10倍,并将维护的脚本维持在原始设计时间的10%,同时帮助用户使用持续集成系统自动进行测试。
NeoLoad支持WebSocket、HTTP1/ 2、GWT、HTML5、AngularJS、Oracle Forms等技术协议,能够监控包括操作系统,应用服务器,Web服务器,数据库和网络设备在内的各种IT基础设施,同时可以通过Neotys云平台发起外部压力。
您可以了解应用程序的容量以及它可以同时处理的用户数量。这个工具是由一家名为Netosys的法国公司开发的,它是用JAVA编写的。
系统要求:Microsoft Windows、Linux和Solaris
官网:https://www.neotys.com/
- LoadNinja
LoadNinja允许您为网站和web应用程序创建和执行实际的负载测试。它通过记录用户交互并与数百个来自本地计算机或云计算的虚拟用户模拟这些操作来自动创建真实的负载测试。
LoadNinja帮助您检查web服务器在大量负载下的性能,确定其健壮性并评估其可伸缩性。它还提供详细的度量和报告,帮助您深入了解基础设施性能、应用程序行为和最终用户体验。
系统要求:该工具适用于64位操作系统,如Windows XP Professional和Windows 7或更高版本。
官网:https://loadninja.com/
- WAPT
WAPT在负载测试期间提供关于虚拟用户及其输出的详细信息。这被认为是分析web服务性能的最具成本效益的工具。
WAPT工具可以测试web应用程序与浏览器和操作系统的兼容性。它还用于测试在某些情况下与windows应用程序的兼容性。
WAPT系统要求:Windows操作系统。
官网:https://www.loadtestingtool.com/
- Loadster
Loadster是一个基于桌面的高级HTTP负载测试工具,测试高负载下网站、Web应用、Web服务的性能表现,支持Linux,Mac和Windows等运行环境。
Loadster能够对Web应用/服务的Cookies、线程、头文件、动态表格等元素发起测试,获得Web在压力下的性能、弹性、稳定性和可扩展性等方面的表现。
web浏览器可以用来记录易于使用和记录的脚本。
使用GUI您可以使用动态变量修改基本脚本以验证响应。
通过控制网络带宽,可以为应用程序压力测试模拟大型虚拟用户群。
测试执行后,生成HTML报告进行分析。此工具最适合识别应用程序中的性能瓶颈。
装载机系统要求:Windows 7/Vista/XP
官网:https://loadster.app/
- LoadImpact
LoadImpact是一个负载测试工具,主要用于基于云的服务。这也有助于网站优化和即兴工作的任何web应用程序。这个工具通过模拟用户来产生网站的流量,从而找到网站可以承受的压力和最大负荷。
Load impact是一款服务于DevOps的性能测试工具,支持各种平台的网站、Web应用、移动应用和API测试。Loadimpact可以帮助用户了解应用的最高在线用户访问量,通过模拟测试不同在线人数下网站的响应时间,估算出服务器的最大负载。
Load impact的使用非常简单,只需要输入网址进行测试,便可统计出加载网站的一些详细数据。包括整体加载和站内图片,javascript, CSS等代码载入。可以在右侧列表选择不同文件来同时对比最多三个对象的加载数据,并生成图表显示,方便网站设计者来分析。测试完成之后,网站还可以存储测试过的统计数据。包括两个主要部分;负载测试工具和页面分析器。负载测试可以分为三种类型,如固定、爬升和超时。
系统需求:Windows OS and Linux.
官网:https://loadimpact.com/
- Testing Anywhere
Test Anywhere是一个自动化测试工具,可以用于测试任何网站、web应用程序或任何其他对象的性能。许多开发人员和测试人员使用这个工具来发现web应用程序中的瓶颈,并相应地纠正它们。它是一个强大的工具,可以自动测试任何应用程序。这个测试工具附带一个内置的编辑器,允许用户根据自己的需要编辑测试标准。
系统需求:windows
官网:https://www.automationanywhere.com/
- QEngine (ManageEngine)
QEngine (ManageEngine)是一种最常见且易于使用的自动化测试工具,它可以帮助进行web应用程序的性能测试和负载测试。
许多开发人员发现,它是用于查找web服务或网站中的任何泄漏的最简单、最容易的工具。这个测试工具的关键重要特性是它能够从任何地理位置执行web服务的远程测试。
系统需求:Linux和windows
官网:https://www.manageengine.com/
- OpenSTA
Open STA代表开放系统测试体系结构。这是一个基于gui的性能工具,应用程序开发人员使用它进行负载测试和分析。
在所有其他性能测试工具中,这被认为是一个复杂的工具。它在过去已经证明了它的能力,当前的工具集能够对脚本化的HTTP和HTTPS执行重载测试和分析。在这里,测试是通过使用录音和简单的脚本进行的。
系统需求:windows
官网:http://opensta.org/download.html
- CloudTest
CloudTest 是一个集性能和功能测试于一体的综合压力测试云平台,专为现代网络和移动应用测试而设计开发,CloudTest可以图形化实现判断、循环,整体减轻了测试开发的工作量,缩短了开发时间。CloudTest基于内存的分析引擎,可以实时收集和展示数据,所有数据在3秒内汇聚显示。
CloudTest采用虚拟化技术,完美的配合公有/私有云计算技术,无需过多的硬件,带宽资源的投入,人力维护成本几乎为零,测试按需获得,远程接入,适合多团队协作。各种规模的模拟成本均远远优于传统工具,同时大大缩短了测试周期。
官网链接:https://soasta.com/cloudtest
- Loadstorm
Loadstorm是一款针对Web应用的云端负载测试工具,通过模拟海量点击来测试Web应用在大负载下的性能表现。由于采用了云资源,所以Loadstorm的测试成本非常低,用户可以在云端选择创建自己的测试计划,测试标准和测试场景。
Loadstorm最多可以生成多达50000个并发用户,通过数以千计的云服务器发起访问。使用Loadstorm不需要任何脚本知识,同时提供多样化的测试图表和报告模版,用于准确测量Web应用的各项性能指标,如错误率,平均响应时间和用户数量等。Loadstorm可以申请免费试用,但更多压力和功能需要开通高级帐户。
官网链接:http://loadstorm.com/
- 阿里云PTS
阿里云性能测试(Performance Testing)是一个SaaS性能测试平台,具有强大的分布式压测能力,可模拟海量用户真实的业务场景,让应用性能问题无所遁形。PTS平台特色包括提供压测机,无需安装软件;脚本场景监控简单化,省时、省力;分布式并发压测,施压能力无上限;快速大规模集群扩容、支持几十万用户及百万级TPS性能压测;80%以上用户基本不需要花费额外的成本。

PTS分为两个版本,Lite版免费,企业版提供资源包月和按量付费两种计费方式,按量付费采用阶梯价计算,满足企业客户多种压测需求。
官网链接:https://www.aliyun.com/product/pts
- 压测宝
压测宝是云智慧推出的面向真实用户行为与地域分布的全链路云端压力测试平台,通过云端服务器产生真实分布式用户访问压力,模拟来自各地域用户接入后台所带来的真实流量,无限接近生产环境所面临的各种复杂因素,测量真实的用户体验。通过集成云智慧应用性能管理和监控产品,帮助实现基于真实用户行为的压测方案定制、压测过程中实时定位各环节应用资源及代码瓶颈,现场纠错,分析应用性能肇因。

产品功能特色方面,压测宝通过独有的开放架构,支持各种主流网络协议;同时支持手机APP的脚本录制方式,可以大大降低压测脚本制作的时间和难度。依托压测宝以及完善的产品线,云智慧为用户提供了一站式压测服务,面向云计算时代的复杂应用提供专业性能压测服务,帮助企业客观评估应用性能容量,发现全链路性能瓶颈,对应用架构的调优及架构容量规划提供专业咨询服务,满足企业灵活多变的业务需求。目前压测宝已提供高达10万UV并发级别的压测服务。
官网链接:http://www.yacebao.com/

以上是市面上比较常见的十款压力/负载/性能测试工具,其中以Jmeter和Loadrunner为代表的大部分产品属于传统防火墙内的压测,适用于测试内网系统硬件资源以及服务、数据库在并发条件下的性能表现。阿里云PTS和CloudTest为代表的第二代压测产品把压测机迁移到云端,通过云资源在防火墙外部生成规模并发,有效降低了压测的成本与准备周期,提高了效率。只是由于压测点限制,国外或阿里的云压测产品,很难对国内应用,特别是非阿里环境部署的应用发起有效测试。
为满足复杂的云端分布式应用交付场景的压力测试需求,第三代以云智慧压测宝为代表的压测产品应运而生,从终端用户行为与体验的视角来审视应用性能问题,通过与APM整合深度追踪系统,准确发现影响性能的问题瓶颈。
