实用型性能测试工具

     选择性能测试工具时,需要考虑的问题有很多,如成本、实时性、便利性等等。下面将给出目前使用较为广泛的性能测试工具:

     1)商业性能测试工具:Loadrunner

        LoadRunner是一种高规模适应性的自动负载测试工具,它能预测系统行为,优化性能。LoadRunner强调对整个企业应用架构进行测试,它通过模拟实际用户的操作行为和实行实时性监控,来帮助客户更快的确定和查找问题。功能全面,支持协议众多,且支持符合协议,提供多角度全方位的性能分析报表。功能强大,但是收费软件。

     2)开源性能测试工具:Jmeter

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

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

    3)新一代服务器性能测试工具:Gatling

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

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

   4)线上流量复制性能测试工具:TCPCOPY

     能把真实的生产线上的用户访问的真实流量引入到测试环境的工具。它是一款在线压力测试工具,可以将线上流量拷贝到测试机器,实时的模拟线上环境,达到在程序不上线的情况下实时承担线上流量的效果。

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

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

5)云测性能测试工具:阿里云PTS

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

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

6)一站式性能测试工具:平安Power

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

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

介绍了这么多性能测试工具,那么我们应该怎么选择呢?

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

转载地址:https://www.csdn.net/article/a/2016-01-21/15834478




猜你喜欢

转载自blog.csdn.net/qq_30068487/article/details/80803094