市面上流行的压力、负载、性能测试工具多是来自国外。当然国内也不乏专业的性能测试工具,同时由于开发的目的和侧重点不同,这些性能测试工具在功能上也有很大差异,下面就为您简单介绍几款目前最常见的性能测试产品。

一、LoadRunner

LoadRunner是一种预测系统行为和性能的负载测试工具,通过模拟实际用户的操作行为进行实时性能监测,来帮助测试人员更快的查找和发现问题。LoadRunner适用于各种体系架构,能支持广泛的协议和技术,为测试提供特殊的解决方案。

企业通过LoadRunner能最大限度地缩短测试时间,优化性能并加速应用系统的发布周期。

LoadRunner提供了3大主要功能模块:VirtualUser Generator(用于录制性能测试脚本),LoadRunner Controller(用于创建、运行和监控场景),LoadRunner Analysis(用于分析性能测试结果)既可以作为独立的工具完成各自的功能,又可以作为LoadRunner的一部分彼此衔接,与其他模块共同完成软件性能的整体测试。

二、PerformanceRunner

PerformanceRunner简称PR,是国内领先的支持http、https、websocket、tcp/ip、MQ等各种协议、10万+海量并发、精准可靠的性能测试工具,极大地降低了应用系统运行风险。

PR由三部分组成,分别是生成器、执行器、分析器;生成器中录制脚本,通过监听应用程序的协议和端口,录制应用程序的协议和报文,创建测试脚本; 脚本编辑可以在脚本中添加校验点、集合点并实现参数化,可以大程度上满足测试需求。

 回放脚本,PR采用java作为标准测试脚本,对已经录制的脚本在PR中再次运行,通过回放,可以排除录制脚本时可能产生的错误,为下一步执行场景做好铺垫。

执行器设计并运行场景;场景设计视图中包含了三个部分,分别是场景组管理、预期指标管理、场景计划管理,可以为该场景添加虚拟用户的数量以及虚拟用户启动、停止的规则,还可以设置IP欺骗,远程监控服务器等。

设计场景完成后,即可运行场景,场景运行界面分为五个部分,主要包括用户状态区、事务统计区、图表树、性能波形图、性能数据统计分析。可以看到实时的数据统计图如,VU图、事务图、WEB资源图、被测系统性能监视图等。

三、Apache JMeter

JMeter作为一款广为流传的开源压测产品,最初被设计用于Web应用测试,如今JMeter可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP服务器等等,还能对服务器、网络或对象模拟巨大的负载,通过不同压力类别测试它们的强度和分析整体性能。

另外,JMeter能够对应用程序做功能测试和回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。

JMeter的特点包括对HTTP、FTP服务器、数据库进行压力测试和性能测试;完全的可移植性;完全 Swing和轻量组件支持包;完全多线程;缓存和离线分析/回放测试结果;可链接的取样器;具有提供动态输入到测试的功能;支持脚本编程的取样器等。

在设计阶段,JMeter能够充当HTTP PROXY(代理)来记录浏览器的HTTP请求,也可以记录Apache等WebServer的log文件来重现HTTP流量,并在性能测试运行时以此为依据设置重复次数和并发度(线程数)来进行压测。