首页 > 编程知识 正文

测量压力的工具有哪些,常用的压力测试工具

时间:2023-05-03 20:14:54 阅读:136636 作者:2394

在移动APP和Web服务正式发布之前,除了需要的功能和安全测试外,为了保证互联网产品的服务提供质量,还往往需要压力/负载/性能测试。 但许多传统企业在尝试互联网的过程中,往往由于资源和产品的迭代速度等原因忽视了这项工作,新产品上线后频繁出现严重影响纸箱等用户体验的问题。 那么互联网产品为什么要进行压力/负载/性能测试呢? 另外,什么样的工具能实现呢? 在这篇文章中会详细说明。 压力/负载/性能测试的差异在产品开发过程中,往往会混淆压力/负载/性能测试的差异,这三种测试到底有什么不同呢? 压力测试(StressTesting ),也称为强度测试,通过模拟实际使用的硬件软件环境和用户使用过程的系统负载,长时间或超负荷运行测试软件,实现被测系统的压力测试需要确定系统瓶颈或无法接收的性能点,以获得系统能够提供的最大服务级别。 一般来说,进行压力测试是为了确定APP应用程序性能变得不可接受的条件。 负载测试(Load Testing )通常被定义为将可在被测试系统上运行的最大任务数相加的过程。 负载测试,也称为“容量测试”或“耐久性测试/耐用性测试”,旨在确保系统在超出预期最大工作量时仍能正常运行。 对于web APP应用程序,负载是并发用户或HTTP连接数。 负载测试通过测试系统在资源过载情况下的行为来发现设计错误和验证系统的负载能力。 该测试让测试对象承担不同的工作量,以评估测试对象在不同工作量条件下的性能行为和持续正常运行的能力。 性能测试(PerformanceTesting )的目的不是寻找系统错误,而是消除系统性能瓶颈,建立回归测试基准。 性能测试的操作实际上是非常谨慎控制的测量分析过程。 运行负载测试-性能测量-调试系统。 理想情况下,被测APP应用此时已经足够稳定,因此该过程正在顺利进行。 性能测试的另一个目标是为被测试的系统创建基准数据。 在网络上的性能测试侧重于利用成熟的先进自动化技术进行网络应用性能监测、网络应用性能分析和网络预测。 虽然三个测试的目的完全不同,但其测试操作环节基本一致,一次测试可以包括性能测试、负载测试、压力测试三个方面的内容,使用的测试工具大致相似。 十大主流的压力/负荷/性能测试工具推荐市场上流行的压力/负荷/性能测试工具大多来自国外,同时根据开发目的和侧重点的不同,其功能也有很大差异,现简要介绍10种最常见的测试产品。 1 LoadRunner LoadRunner是一种负载测试工具,可预测系统行为和性能,通过模拟实际用户行为和实时性能监控,帮助测试人员更快地发现和发现问题。 LoadRunner支持多种体系结构,支持广泛的协议和技术,并提供专门用于测试的解决方案。 LoadRunner使企业能够最大限度地减少测试时间,优化性能,并缩短APP应用系统的发布周期。 LoadRunner包括虚拟用户生成器(用于记录性能测试脚本)、加载控制器(用于创建、执行和监视场景)和加载分析器 详情请参阅《性能测试入门——LoadRunner使用初探》 (http://www.admin5.com/article/2016 11 14/695706.shtml ) LoadRunner官方网站: https://SaaS.hpe.com/zh-shtml 目前,JMeter可以测试静态和动态资源(如静态文件、Java applet、CGI脚本、Java对象、数据库和FTP服务器)以及模拟服务器、网络和对象JMeter可以对APP应用程序进行功能和回归测试,并通过编写带有断言的脚本来验证程序返回了预期的结果。 在JMeter中,为了最大限度地提高灵活性,可以使用正则表达式创建断言。 JMeter的特点包括HTTP、FTP服务器、数据库压力测试和性能测试;完整的可移植性;完整的Swing和轻量级组件支持包;完整的多线程; 和离线分析/回放测试结果缓存; 支持脚本编程的取样器,可提供动态填充可链接取样器测试的功能。 在设计阶段,JMeter作为HTTP代理记录浏览器的HTTP请求,记录Apache等web服务器的log文件,再现HTTP通信量,在测试运行时以此为基础记录与重复次数同时执行的程度(线程数文章: 《云智慧压测实战分享之JMeter工具使用初探》 (https://segment fault.com/a/119000007922515 )官方网站链接: http://jmeter.Apache.org/3 neoloadneoload由Neotys制造瓶颈。NeoLoad通过使用无脚本GUI和一系列自动化功能,可让测试设计速度提高5-10倍,并将维护的脚本维持在原始设计时间的10%,同时帮助用户使用持续集成系统自动进行测试。 NeoLoad支持WebSocket、HTTP1/ 2、GWT、HTML5、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%以上用户基本不需要花费额外的成本。 PTS分为两个版本,Lite版免费,企业版提供资源包月和按量付费两种计费方式,按量付费采用阶梯价计算,满足企业客户多种压测需求。 官网链接:https://www.aliyun.com/product/pts 10 压测宝 压测宝是云智慧推出的面向真实用户行为与地域分布的全链路云端压力测试平台,通过云端服务器产生真实分布式用户访问压力,模拟来自各地域用户接入后台所带来的真实流量,无限接近生产环境所面临的各种复杂因素,测量真实的用户体验。通过集成云智慧应用性能管理和监控产品,帮助实现基于真实用户行为的压测方案定制、压测过程中实时定位各环节应用资源及代码瓶颈,现场纠错,分析应用性能肇因。 产品功能特色方面,压测宝通过独有的开放架构,支持各种主流网络协议;同时支持手机APP的脚本录制方式,可以大大降低压测脚本制作的时间和难度。依托压测宝以及完善的产品线,云智慧为用户提供了一站式压测服务,面向云计算时代的复杂应用提供专业性能压测服务,帮助企业客观评估应用性能容量,发现全链路性能瓶颈,对应用架构的调优及架构容量规划提供专业咨询服务,满足企业灵活多变的业务需求。目前压测宝已提供高达10万UV并发级别的压测服务。 官网链接:http://www.yacebao.com/ 以上是市面上比较常见的十款压力/负载/性能测试工具,其中以Jmeter和Loadrunner为代表的大部分产品属于传统防火墙内的压测,适用于测试内网系统硬件资源以及服务、数据库在并发条件下的性能表现。阿里云PTS和CloudTest为代表的第二代压测产品把压测机迁移到云端,通过云资源在防火墙外部生成规模并发,有效降低了压测的成本与准备周期,提高了效率。只是由于压测点限制,国外或阿里的云压测产品,很难对国内应用,特别是非阿里环境部署的应用发起有效测试。 为满足复杂的云端分布式应用交付场景的压力测试需求,第三代以云智慧压测宝为代表的压测产品应运而生,从终端用户行为与体验的视角来审视应用性能问题,通过与APM整合深度追踪系统,准确发现影响性能的问题瓶颈。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。