httpblogcsdnnetmoonpurearticledetails7267437410大主流压力测试工具推荐在移动应用和Web服务正式发布之前除了进行必要的功能测试和安全测试为了保证互联网产品的服务交付质量往往还需要做压力负载性能测试然而很多传统企业在试水互联网的过程中往往由于资源或产品迭代速度等原因忽视了这一块工作导致新产品上线之后频繁出现卡顿等严重影响用户体验的问题那么互联网产品为什么要进行压力负载性能测试又有哪些工具帮我们实现呢本文将为您细说端详压力负载性能测试之异同在产品研发过程中常常会混淆压力负载性能测试这三者之间的区别这三种测试到底有什么不同呢压力测试StressTesting也称为强度测试通过模拟实际应用的软硬件环境及用户使用过程的系统负荷长时间或超大负荷地运行测试软件来测试被测系统的性能可靠性稳定性等压力测试需要确定一个系统的瓶颈或者不能接收的性能点来获得系统能提供的最大的服务级别通俗地讲压力测试是为了发现在什么条件下您的应用程序的性能会变得不可接受负载测试LoadTesting通常被定义为给被测系统加上它所能操作的最大任务数的过程负载测试有时也会被称为容量测试或者耐久性测试持久性测试其目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行对于WEB应用来讲负载则是并发用户或者HTTP连接的数量负载测试通过测试系统在资源超负荷情况下的表现以发现设计上的错误或验证系统的负载能力在这种测试中将使测试对象承担不同的工作量以评测和评估测试对象在不同工作量条件下的性能行为以及持续正常运行的能力性能测试PerformanceTesting的目的不是去找系统Bugs而是排除系统的性能瓶颈并为回归测试建立一个基准而性能测试的操作实际上就是一个非常小心受控的测量分析过程运行负载试验测度性能调试系统在理想的情况下被测应用在这个时候已经是足够稳定所以这个过程得以顺利进行性能测试还有另一个目标就是建立一组被测系统的基准数据应用在网络上的性能测试重点是利用成熟先进的自动化技术进行网络应用性能监控网络应用性能分析和网络预测虽然三种测试的目的截然不同但其测试操作的环节都是基本一致的因此一次测试过程中完全可以包含性能测试负载测试压力测试三个方面的内容所使用的测试工具往往大同小异10大主流压力负载性能测试工具推荐市面上流行的压力负载性能测试工具多是来自国外同时由于开发的目的和侧重点不同其功能也有很大差异下面就为您简单介绍10款目前最常见的测试产品1LoadRunnerLoadRunner是一种预测系统行为和性能的负载测试工具通过模拟实际用户的操作行为进行实时性能监测来帮助测试人员更快的查找和发现问题LoadRunner适用于各种体系架构能支持广泛的协议和技术为测试提供特殊的解决方案企业通过LoadRunner能最大限度地缩短测试时间优化性能并加速应用系统的发布周期LoadRunner提供了3大主要功能模块VirtualUserGenerator用于录制性能测试脚本LoadRunnerController用于创建运行和监控场景LoadRunnerAnalysis用于分析性能测试结果既可以作为独立的工具完成各自的功能又可以作为LoadRunner的一部分彼此衔接与其他模块共同完成软件性能的整体测试详见性能测试入门LoadRunner使用初探httpwwwadmin5comarticle20161114695706shtmlLoadRunner官网httpssaashpecomzhcnsoftwareloadrunner2ApacheJMeterJMeter作为一款广为流传的开源压测产品最初被设计用于Web应用测试如今JMeter可以用于测试静态和动态资源例如静态文件Java小服务程序CGI脚本Java对象数据库FTP服务器等等还能对服务器网络或对象模拟巨大的负载通过不同压力类别测试它们的强度和分析整体性能另外JMeter能够对应用程序做功能测试和回归测试通过创建带有断言的脚本来验证你的程序返回了你期望的结果为了最大限度的灵活性JMeter允许使用正则表达式创建断言JMeter的特点包括对HTTPFTP服务器数据库进行压力测试和性能测试完全的可移植性完全Swing和轻量组件支持包完全多线程缓存和离线分析回放测试结果可链接的取样器具有提供动态输入到测试的功能支持脚本编程的取样器等在设计阶段JMeter能够充当HTTPPROXY代理来记录浏览器的HTTP请求也可以记录Apache等WebServer的log文件来重现HTTP流量并在测试运行时以此为依据设置重复次数和并发度线程数来进行压测参考文章云智慧压测实战分享之JMeter工具使用初探httpssegmentfaultcoma1190000007922515官网链接httpjmeterapacheorg3NeoLoadNeoLoad是Neotys出品的一种负载和性能测试工具可真实地模拟用户活动并监视基础架构运行状态从而消除所有Web和移动应用程序中的瓶颈NeoLoad通过使用无脚本GUI和一系列自动化功能可让测试设计速度提高510倍并将维护的脚本维持在原始设计时间的10同时帮助用户使用持续集成系统自动进行测试NeoLoad支持WebSocketHTTP12GWTHTML5AngularJSOracleForms等技术协议能够监控包括操作系统应用服务器Web服务器数据库和网络设备在内的各种IT基础设施同时可以通过Neotys云平台发起外部压力官网链接httpwwwneotyscomproductoverviewneoloadhtml4WebLOADWebLOAD是来自Radview公司的负载测试工具它可被用以测试系统性能和弹性也可被用于正确性验证验证返回结果的正确性其测试脚本是用Javascript和集成的COMJava对象编写的并支持多种协议如Web包括AJAX在内的RESTHTTPSOAPXML及其他可从脚本调用的协议如FTPSMTP等因而可从所有层面对应用程序进行测试WebLOAD存在免费和专业两个版本免费版本支持50个虚拟用户专业版还提供更多的报告和协议供用户选择WebLOAD通常用作QA团队的独立运行工具在开发周期的验证阶段被测系统SystemUnderTestSUT投入实用之前在模拟环境中对被测系统进行测试官网链接httpwwwradviewcom5LoadsterLoadster是一款商用负载测试软件用于测试高负载下网站Web应用Web服务的性能表现支持LinuxMac和Windows等运行环境Loadster能够对Web应用服务的Cookies线程头文件动态表格等元素发起测试获得Web在压力下的性能弹性稳定性和可扩展性等方面的表现官网链接httpwwwloadsterperformancecom6LoadimpactLoadimpact是一款服务于DevOps的性能测试工具支持各种平台的网站Web应用移动应用和API测试Loadimpact可以帮助用户了解应用的最高在线用户访问量通过模拟测试不同在线人数下网站的响应时间估算出服务器的最大负载Loadimpact的使用非常简单只需要输入网址进行测试便可统计出加载网站的一些详细数据包括整体加载和站内图片javascriptCSS等代码载入可以在右侧列表选择不同文件来同时对比最多三个对象的加载数据并生成图表显示方便网站设计者来分析测试完成之后网站还可以存储测试过的统计数据官网链接httploadimpactcom7CloudTestCloudTest是一个集性能和功能测试于一体的综合压力测试云平台专为现代网络和移动应用测试而设计开发CloudTest可以图形化实现判断循环整体减轻了测试开发的工作量缩短了开发时间CloudTest基于内存的分析引擎可以实时收集和展示数据所有数据在3秒内汇聚显示CloudTest采用虚拟化技术完美的配合公有私有云计算技术无需过多的硬件带宽资源的投入人力维护成本几乎为零测试按需获得远程接入适合多团队协作各种规模的模拟成本均远远优于传统工具同时大大缩短了测试周期官网链接httpssoastacomcloudtest8LoadstormLoadstorm是一款针对Web应用的云端负载测试工具通过模拟海量点击来测试Web应用在大负载下的性能表现由于采用了云资源所以Loadstorm的测试成本非常低用户可以在云端选择创建自己的测试计划测试标准和测试场景Loadstorm最多可以生成多达50000个并发用户通过数以千计的云服务器发起访问使用Loadstorm不需要任何脚本知识同时提供多样化的测试图表和报告模版用于准确测量Web应用的各项性能指标如错误率平均响应时间和用户数量等Loadstorm可以申请免费试用但更多压力和功能需要开通高级帐户官网链接httploadstormcom9阿里云PTS阿里云性能测试PerformanceTesting是一个SaaS性能测试平台具有强大的分布式压测能力可模拟海量用户真实的业务场景让应用性能问题无所遁形PTS平台特色包括提供压测机无需安装软件脚本场景监控简单化省时省力分布式并发压测施压能力无上限快速大规模集群扩容支持几十万用户及百万级TPS性能压测80以上用户基本不需要花费额外的成本PTS分为两个版本Lite版免费企业版提供资源包月和按量付费两种计费方式按量付费采用阶梯价计算满足企业客户多种压测需求官网链接httpswwwaliyuncomproductpts10压测宝压测宝是云智慧推出的面向真实用户行为与地域分布的全链路云端压力测试平台通过云端服务器产生真实分布式用户访问压力模拟来自各地域用户接入后台所带来的真实流量无限接近生产环境所面临的各种复杂因素测量真实的用户体验通过集成云智慧应用性能管理和监控产品帮助实现基于真实用户行为的压测方案定制压测过程中实时定位各环节应用资源及代码瓶颈现场纠错分析应用性能肇因产品功能特色方面压测宝通过独有的开放架构支持各种主流网络协议同时支持手机APP的脚本录制方式可以大大降低压测脚本制作的时间和难度依托压测宝以及完善的产品线云智慧为用户提供了一站式压测服务面向云计算时代的复杂应用提供专业性能压测服务帮助企业客观评估应用性能容量发现全链路性能瓶颈对应用架构的调优及架构容量规划提供专业咨询服务满足企业灵活多变的业务需求目前压测宝已提供高达10万UV并发级别的压测服务官网链接httpwwwyacebaocom以上是市面上比较常见的十款压力负载性能测试工具其中以Jmeter和Loadrunner为代表的大部分产品属于传统防火墙内的压测适用于测试内网系统硬件资源以及服务数据库在并发条件下的性能表现阿里云PTS和CloudTest为代表的第二代压测产品把压测机迁移到云端通过云资源在防火墙外部生成规模并发有效降低了压测的成本与准备周期提高了效率只是由于压测点限制国外或阿里的云压测产品很难对国内应用特别是非阿里环境部署的应用发起有效测试为满足复杂的云端分布式应用交付场景的压力测试需求第三代以云智慧压测宝为代表的压测产品应运而生从终端用户行为与体验的视角来审视应用性能问题通过与APM整合深度追踪系统准确发现影响性能的问题瓶颈