JMeter是什么?
(1)Apache JMeter是Apache组织开发的基于Java的压力测试工具。
JMeter可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
JMeter特点。
(1)能够对HTTP和FTP服务器进行压力和性能测试,也可以对任何数据库进行同样的测试(通过JDBC)
(2)完全的可移植性和100%纯Java。
(3)完全多线程 框架允许通过多个线程并发取样和通过单独的线程组对不同的功能同时取样。
(4)各种负载统计表和可链接的计时器可供选择。
(5)数据分析和可视化插件提供了很好的扩展性以及个性化。
(6)具有提供动态输入到测试的功能。
JMeter的下载与安装。
(1)前置条件:安装好JDK
(2)JMeter下载地址:http://jmeter.apache.org/download_jmeter.cgi
(3)一般启动:解压,bin目录里的jmeter.bat即可启动。
(4)服务器模式启动:jmeter-server.bat。允许在远程节点上以服务器模式运行jmeter,并通过jmeter gui来控制。
JMeter目录结构。
bin目录是可执行文件,jmeter.bat启动,里面可以设置jvm参数。
根据经验,heap最多设置为物理内存的一半,默认为512M。如果heap超过物理内存的一半,可能运行Jmeter会慢,甚至出现内存溢出。
Jmeter的log在jmeter.log中查看。
jmeter.properties文件中有一个属性log_level.JMeter可以设置改变日志详细度。默认是info,可改为debug。
printable_docs的usermanual子目录下是Jmeter用户手册,其中component_reference.html是最常用的核心原件啊帮助手册。
docs下是jmeter的java docs
extras目录下的文件提供了对ant的支持,可以利用ant来实现自动化,例如:批量执行脚本,产生html报告等。
运行jmeter的时候会产生一个jtl文件,把它放到extras目录下,运行ant - Dtest=文件名 report 就可以生成测试统计报表。
lib目录下的ext子目录是Jmeter核心jar包。
junit子目录是放Junit脚本的。用户扩展所依赖的包直接放到 lib下即可,不要放到 lib/ext下。
Jmeter VS loadrunner
对比项 | JMeter | LoadRunner |
安装 | 简单,下载即可 | 复杂,安装包大于1GB,在一台主频3.0、内存1GB的PC上安装,安装时间大于1小时 |
录制/回放模式 | 支持 | 支持 |
测试协议 | 偏少,用户可自行扩展 | 较多,用户不可自行扩展 |
分布式大规模压力测试 | 支持 | 支持 |
IP欺骗功能 | 不支持 | 支持 |
图形报表 | 支持(较弱) | 支持(很强) |
测试逻辑控制 | 支持 | 支持 |
监控服务器资源(CPU、内存等) | 支持 | 支持 |
功能测试 | 支持 | 不支持 |