性能测试工具较多,无法一一进行介绍,感兴趣者可自行搜索资料学习。需要说明的是工具使用方法和原理都大同小异,掌握一个,其他皆可快速上手。
下面就以服务端的性能测试工具为例,对市场上最常用,知名度较高,也是比较优秀的两款性能测试工具Jmeter和LR(LoadRunner)做个说明和比对
对比项 |
JMeter |
LoadRunner |
架构原理 |
通过中间代理,监控和收集并发客户端的指令,把他们生成脚本,再发送的应用服务器,再监控应用服务器反馈的过程 |
同JMeter |
安装 |
简单,解压即可 |
复杂,LoadRunner安装包大于1GB,安装时间较长,工具本身相对比较笨重 |
录制/回放 |
提供了一个利用本地ProxyServer(代理服务器)来录制生成测试脚本的功能,也支持badboy录制再生成JMeter脚本 |
自带录制功能强大,可直接录制回放 |
测试协议 |
支持多种协议:HTTP、HTTPS、SOAP、FTP、Database via JDBC、JMS等,但相对LR还是不够全面,由于此原因相对来说jemter比较灵活,轻便。支持用户自行扩展 |
支持的协议非常多,比较全面,但正因此显得工具本身比较笨重,不够灵活。不支持用户自行 |
分布式测试 |
支持,可设置多台代理,通过远程控制实现多台机器并发压力 |
同JMeter |
IP欺骗功能 |
不支持 |
支持 |
网速模拟 |
不支持 |
支持 |
图形报表 |
支持(较弱) |
支持(很强) |
测试逻辑控制 |
支持 |
支持 |
监控服务资源(CPU、内存) |
通过JMeterPlugins插件和ServerAgent实现 |
自带资源监控功能 |
功能测试 |
支持 |
不支持 |
测试成本 |
免费开源 |
商业收费(费用很高) |
学习成本 |
主要是自学官网上的资料 |
网上资料和相关培训很多,购买正版的话,还有技术支持 |
以上对比可以看出,LR功能相对更强大,同时收费且成本相对较高,更适合不差钱的大公司使用。Jmeter具备性能测试所需要的所有功能,开源软件,且通过Apache社区的不断完善,正在逐渐追赶,更适合中小公司使用。
实际情况中,测试人员可根据公司的具体情况选择对应的工具,当然不仅仅局限于LR和Jmeter。各个工具都有自己的优势,选择时以合适和可行性为准