10大主流压力测试工具推荐(转载)

在移动应用和Web服务正式发布以前,除了进行必要的功能测试和安全测试,为了保证互联网产品的服务交付质量,每每还须要作压力/负载/性能测试。然而不少传统企业在试水互联网+的过程当中,每每因为资源或产品迭代速度等缘由忽视了这一块工做,致使新产品上线以后频繁出现卡顿等严重影响用户体验的问题。那么互联网产品为何要进行压力/负载/性能测试,又有哪些工具帮咱们实现呢,本文将为您细说端详。
压力/负载/性能测试之异同
在产品研发过程当中,经常会混淆压力/负载/性能测试这三者之间的区别,这三种测试到底有什么不一样呢?
压力测试(StressTesting),也称为强度测试,经过模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等。压力测试须要肯定一个系统的瓶颈或者不能接收的性能点,来得到系统能提供的最大的服务级别。通俗地讲,压力测试是为了发如今什么条件下您的应用程序的性能会变得不可接受。
负载测试(Load Testing)一般被定义为给被测系统加上它所能操做的最大任务数的过程,负载测试有时也会被称为“容量测试”或者“耐久性测试/持久性测试”,其目标是肯定并确保系统在超出最大预期工做量的状况下仍能正常运行。对于WEB应用来说,负载则是并发用户或者HTTP链接的数量。负载测试经过测试系统在资源超负荷状况下的表现,以发现设计上的错误或验证系统的负载能力。在这种测试中,将使测试对象承担不一样的工做量,以评测和评估测试对象在不一样工做量条件下的性能行为,以及持续正常运行的能力。
性能测试(PerformanceTesting)的目的不是去找系统Bugs,而是排除系统的性能瓶颈,并为回归测试创建一个基准。而性能测试的操做,实际上就是一个很是当心受控的测量分析过程:“运行负载试验->测度性能->调试系统”。在理想的状况下,被测应用在这个时候已是足够稳定,因此这个过程得以顺利进行。性能测试还有另外一个目标就是创建一组被测系统的基准数据。应用在网络上的性能测试重点是利用成熟先进的自动化技术进行网络应用性能监控、网络应用性能分析和网络预测。
虽然三种测试的目的大相径庭,但其测试操做的环节都是基本一致的,所以一次测试过程当中彻底能够包含性能测试、负载测试、压力测试三个方面的内容,所使用的测试工具每每大同小异。
10大主流压力/负载/性能测试工具推荐
市面上流行的压力/负载/性能测试工具可能是来自国外,同时因为开发的目的和侧重点不一样,其功能也有很大差别,下面就为您简单介绍10款目前最多见的测试产品。
1
LoadRunner
LoadRunner是一种预测系统行为和性能的负载测试工具,经过模拟实际用户的操做行为进行实时性能监测,来帮助测试人员更快的查找和发现问题。LoadRunner适用于各类体系架构,能支持普遍的协议和技术,为测试提供特殊的解决方案。企业经过LoadRunner能最大限度地缩短测试时间,优化性能并加速应用系统的发布周期。
LoadRunner提供了3大主要功能模块:VirtualUser Generator(用于录制性能测试脚本),LoadRunner Controller(用于建立、运行和监控场景),LoadRunner Analysis(用于分析性能测试结果)既能够做为独立的工具完成各自的功能,又能够做为LoadRunner的一部分彼此衔接,与其余模块共同完成软件性能的总体测试。
详见:《性能测试入门——LoadRunner使用初探》(http://www.admin5.com/article/20161114/695706.shtml)
LoadRunner官网:https://saas.hpe.com/zh-cn/software/loadrunner
2
Apache JMeter
JMeter做为一款广为流传的开源压测产品,最初被设计用于Web应用测试,现在JMeter能够用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP服务器等等,还能对服务器、网络或对象模拟巨大的负载,经过不一样压力类别测试它们的强度和分析总体性能。另外,JMeter可以对应用程序作功能测试和回归测试,经过建立带有断言的脚原本验证你的程序返回了你指望的结果。为了最大限度的灵活性,JMeter容许使用正则表达式建立断言。
JMeter的特色包括对HTTP、FTP服务器、数据库进行压力测试和性能测试;彻底的可移植性;彻底 Swing和轻量组件支持包;彻底多线程;缓存和离线分析/回放测试结果;可连接的取样器;具备提供动态输入到测试的功能;支持脚本编程的取样器等。在设计阶段,JMeter可以充当HTTP PROXY(代理)来记录浏览器的HTTP请求,也能够记录Apache等WebServer的log文件来重现HTTP流量,并在测试运行时以此为依据设置重复次数和并发度(线程数)来进行压测。
参考文章:《云智慧压测实战分享之JMeter工具使用初探》(https://segmentfault.com/a/1190000007922515)
官网连接:http://jmeter.apache.org/
3
NeoLoad
NeoLoad是Neotys出品的一种负载和性能测试工具,可真实地模拟用户活动并监视基础架构运行状态,从而消除全部Web和移动应用程序中的瓶颈。NeoLoad经过使用无脚本GUI和一系列自动化功能,可以让测试设计速度提升5-10倍,并将维护的脚本维持在原始设计时间的10%,同时帮助用户使用持续集成系统自动进行测试。
NeoLoad支持WebSocket、HTTP1/ 二、GWT、HTML五、AngularJS、Oracle Forms等技术协议,可以监控包括操做系统,应用服务器,Web服务器,数据库和网络设备在内的各类IT基础设施,同时能够经过Neotys云平台发起外部压力。
官网连接:http://www.neotys.com/product/overview-neoload.html
4
WebLOAD
WebLOAD是来自Radview公司的负载测试工具,它可被用以测试系统性能和弹性,也可被用于正确性验证(验证返回结果的正确性)。其测试脚本是用Javascript(和集成的COM/Java对象)编写的,并支持多种协议,如Web(包括AJAX在内的REST/HTTP)、SOAP/XML及其余可从脚本调用的协议如FTP、SMTP等,于是可从全部层面对应用程序进行测试。
WebLOAD存在免费和专业两个版本,免费版本支持50个虚拟用户,专业版还提供更多的报告和协议供用户选择。WebLOAD一般用做QA团队的独立运行工具,在开发周期的验证阶段,被测系统(System Under Test,SUT)投入实用以前,在模拟环境中对被测系统进行测试。
官网连接:http://www.radview.com/
5
Loadster
Loadster是一款商用负载测试软件,用于测试高负载下网站、Web应用、Web服务的性能表现,支持Linux,Mac和Windows等运行环境。
Loadster可以对Web应用/服务的Cookies、线程、头文件、动态表格等元素发起测试,得到Web在压力下的性能、弹性、稳定性和可扩展性等方面的表现。
官网连接:http://www.loadsterperformance.com/
6
Load impact
Load impact是一款服务于DevOps的性能测试工具,支持各类平台的网站、Web应用、移动应用和API测试。Loadimpact能够帮助用户了解应用的最高在线用户访问量,经过模拟测试不一样在线人数下网站的响应时间,估算出服务器的最大负载。
Load impact的使用很是简单,只须要输入网址进行测试,即可统计出加载网站的一些详细数据。包括总体加载和站内图片,javascript, CSS等代码载入。能够在右侧列表选择不一样文件来同时对比最多三个对象的加载数据,并生成图表显示,方便网站设计者来分析。测试完成以后,网站还能够存储测试过的统计数据。
官网连接:http://loadimpact.com/
7
CloudTest
CloudTest 是一个集性能和功能测试于一体的综合压力测试云平台,专为现代网络和移动应用测试而设计开发,CloudTest能够图形化实现判断、循环,总体减轻了测试开发的工做量,缩短了开发时间。CloudTest基于内存的分析引擎,能够实时收集和展现数据,全部数据在3秒内汇聚显示。
CloudTest采用虚拟化技术,完美的配合公有/私有云计算技术,无需过多的硬件,带宽资源的投入,人力维护成本几乎为零,测试按需得到,远程接入,适合多团队协做。各类规模的模拟成本均远远优于传统工具,同时大大缩短了测试周期。
官网连接:https://soasta.com/cloudtest
8
Loadstorm
Loadstorm是一款针对Web应用的云端负载测试工具,经过模拟海量点击来测试Web应用在大负载下的性能表现。因为采用了云资源,因此Loadstorm的测试成本很是低,用户能够在云端选择建立本身的测试计划,测试标准和测试场景。
Loadstorm最多能够生成多达50000个并发用户,经过数以千计的云服务器发起访问。使用Loadstorm不须要任何脚本知识,同时提供多样化的测试图表和报告模版,用于准确测量Web应用的各项性能指标,如错误率,平均响应时间和用户数量等。Loadstorm能够申请免费试用,但更多压力和功能须要开通高级账户。
官网连接:http://loadstorm.com/
9
阿里云PTS
阿里云性能测试(Performance Testing)是一个SaaS性能测试平台,具备强大的分布式压测能力,可模拟海量用户真实的业务场景,让应用性能问题无所遁形。PTS平台特点包括提供压测机,无需安装软件;脚本场景监控简单化,省时、省力;分布式并发压测,施压能力无上限;快速大规模集群扩容、支持几十万用户及百万级TPS性能压测;80%以上用户基本不须要花费额外的成本。
http://blog.csdn.net/moonpure/article/details/72674374
相关文章
相关标签/搜索