常见性能测试工具:
性能测试工具,从理论上来讲在性能测试过程中使用到的所有工具都可以称其为性能测试工具,通常分为以下几类:
说明:
- 服务器端性能测试工具:需要支持产生压力和负载,录制和生成脚本,设置和部署场景,产生并发用户和向系统施加持续的压力。
- web前端性能测试工具:需要关于心浏览器等客户端工具对具体需要展现的页面的处理过程。
- 移动端性能测试工具:同web端性能测试工具也需要关心页面的处理过程,另外还要具体数据采集的功能,比如:手机CPU、内存、电量,启动时间等数据的记录。
- 资源监控工具:这个主要是能够收集性能测试过程中的数据以及良好的结果展现方式。
PS:本篇文章主要总结下服务器端性能测试工具LR和Jmeter,后面也会对这两个工具进行简单的对分。
五、常见性能测试工具特点
- JMeter:采用的是多线程模型,扩展性很强,不过制造压力没有那么高。它很适合用来压一些Tomcat服务,或者一些后端接口。JMeter的缺点是压力值不能精确控制,难以适应高并发的情况,而且由于是JAVA编写的,本身比较消耗资源。
- LoadRunner:更像是一个模拟器,它比较适用于前端构造较复杂场景的情况,比如模拟100个用户登录的场景,LoadRunner对非技术人员提供了很好的支持。LoadRunner不适用后端接口。
下表为JMeter和LoadRunner对比表:
描述 | JMeter | LoadRunner |
架构原理 | 通过中间代理,监控和收集并发客户端的指令,把他们生成脚本,再发送的应用服务器,再监控应用服务器反馈的过程 | 同JMeter |
安装 | 简单,解压即可,比较灵活 | LoadRunner安装包比较大,安装比较麻烦,工具本身相对比较笨重 |
支持的协议 | 支持多种协议:HTTP、HTTPS、SOAP、FTP、Database via JDBC、JMS等,但相对LR还是不够全面,由于此原因相对来说jemter比较灵活,轻便 | 支持的协议非常多,比较全面,但正因此显得工具本身比较笨重,不够灵活 |
脚本录制 | 提供了一个利用本地ProxyServer(代理服务器)来录制生成测试脚本的功能,也支持badboy录制再生成JMeter脚本 | 自带录制功能强大,可直接录制回放 |
并发模型 | 通过增加线程组的数目,或者是设置循环次数来增加并发用户 | 支持多种并发模型,通过在场景中选择要设置什么样的场景,然后选择虚拟用户数 |
分布式测试 | 支持,可设置多台代理,通过远程控制实现多台机器并发压力 | 同JMeter |
资源监控 | 通过JMeterPlugins插件和ServerAgent实现 | 自带资源监控功能 |
报告分析 | 通过与Ant集成,生成HTML报告 | 自身支持生成HTML、Word报告 |
虚拟IP | 不支持 | 支持 |
网速模拟 | 不支持 | 支持 |
扩展性 | 开源,可根据需求修改源码 | 通过扩展函数库实现 |
学习成本 | 主要是自学官网上的资料 | 网上资料和相关培训很多,购买正版的话,还有技术支持 |