文章分类
开发者最爱的6种实用型性能测试工具
2017-10-29 06:07
来源:未知
点击数:            

  无论是开发者,还是企业,拥有一款实用、且操作起来顺手的性能测试工具,是再好不过的一件事情,这样,不仅在使用上节省时间,在效能上也能充分发挥作用。而在选择这类性能测试工具时,我们需要考虑的问题也有很多,如成本、实时性、便利性等。

  LoadRunner是原Mercury公司开发的产品, 2006 年被HP收购。它是一种高规模适应性的自动负载测试工具,它能预测系统行为,优化性能。LoadRunner强调对整个企业应用架构进行测试,它通过模拟实际用户的操作行为和实行实时性能,来帮助客户更快的确认和查找问题。

  LoadRunner 作为老牌的工业级商业负载测试工具,功能全面,支持协议众多,且支持复合协议,提供多角度全方位的性能分析报表。

  LoadRunner功能强大,基本上能满足企业的90%以上的性能压测,但是价格普遍较贵。

  Apache JMeter是Apache组织开发的压力测试工具,也是目前应用最广泛的开源性能测试工具之一。它最初被设计用于Web应用测试,后来扩展到其他测试领域。像其他性能测试工具一样,JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来测试不同压力类别下应用系统的强度,分析应用系统的整体性能。

  JMeter由100%JAVA开发,开源,具备完全的可移植性;采用 Swing界面和轻量组件支持包;支持插件扩展,可以通过扩展插件支持新的协议,系统资源,展示更丰富的性能图表等。JMeter开源,企业能够在JMeter的基础上实现二次开发,扩展JMeter的功能为己所用。

  Gatling作为新一代服务器性能测试工具,是一款基于Scala 开发的高性能服务器性能测试工具,它主要用于对服务器进行负载等测试,并分析和测量服务器的各种性能指标。Gatling主要用于测量基于HTTP的服务器,比如Web应用程序,RESTful服务等,即主要支持http协议。

  Gatling针对JMeter的不足做了大量改进:在并发性能方面,Gatling使用的Actors模型的性能在高并发的情况下性能大大优于JMeter的Threads,从而使得Gatling在更少的内存和CPU的情况下可以提供同样的测试能力,降低了测试成本;在测试脚本方面,Gatling的Scala代码也更简明,易读性和性更高还可以使用版本工具进行更有效的管理。

  做性能测试时,我们无时无刻不在想如何模拟,如何贴近更加真实的用户使用场景。有人想,如果能把真实的生产线上的用户访问的真实流量引入到测试就好了。

  TCPCOPY正是一款这样的工具,一款分布式在线压力测试工具,可以将线上流量拷贝到测试机器,实时的模拟线上,达到在程序不上线的情况下实时承担线上流量的效果。

  TCPCOPY利用在线数据包信息,模拟TCP客户端协议栈,测试服务器的上层应用服务。

  TCPCOPY除了占用一些额外的CPU,内存和带宽外,对线上系统本身的影响极小。关键是,这种复制的线上流量模拟了测试请求的多样性,网络延迟与资源占用,更加真实。

  有一些性能测试工具被搬到了云端,依托云端的服务器为压测负载机进行测试。提供基于SAAS的压测服务。

  阿里云PTS是一个SaaS性能测试平台,具有强大的分布式压测能力,可模拟海量用户真实的业务场景,让应用性能问题无所遁形。作为SaaS服务,PTS提供压测机,无需安装软件;脚本场景简单化;分布式并发压测,施压能力无上限;快速大规模集群扩容、支持几十万用户及百万级TPS性能压测。

  支持常用协议的性能测试,动态式执行机智能分配,分布式并发压测,可部署在云端,亦可本地部署脚本在线编辑,支持动态脚本,提升可读性和易用性。丰富的可视化性能报表,集成主机资源,采用时序数据库存储数据,支持远期数据查询。

  平安科技将性能测试进行了整合,通过神兵wizard一站式研发管理工具集成,在其部署流水线后集成自动化测试与性能测试,完成一站式的持续集成与验证,提高了研发效率。

  首先,可根据自身业务系统的协议或通信方式来决定哪种测试工具能够满足自己的测试需求;其次,能用开源免费的当然优先选择,毕竟成本优先;最后,选择合适的性能测试工具,需要在工具的方便性,实用性与价格上进行考虑。以能够实现一站式的性能测试为佳,包括方便的脚本与场景设计,丰富的报表与自动化的等。

Copyright © 2012-2013 .All rights reserved.http://www.aaronpottsnyc.com 版权所有