一、JMeter简介
jmeter下载地址:http://jmeter.apache.org/download_jmeter.cgi
如果是Windows系统,下载zip压缩包文件,如果是linux系统,则下载tgz压缩文件。
下载完了的第一件事情就是解压缩,并且打开“README.md”文件,了解下官方对于JMeter最正宗的描述。
JMeter,一个100%的纯Java桌面应用,是Apache组织的开放源代码项目,它是功能和性能测试的工具。原先Jmeter是为Web/HTTP测试而设计的,但是它已经扩展以支持各种各样的测试模块。
JMeter的功能包括:(下面5点来自我蹩脚的翻译)
1、负载和性能测试许多不同的服务器/协议类型的能力:
- Web - HTTP, HTTPS
- SOAP / REST
- FTP
- 数据库通过JDBC
- LDAP
- 基于JMS的消息中间件(MOM)
- 邮件- SMTP(S), POP3(S) and IMAP(S)
- 本地命令或shell脚本
- TCP
2、完全多线程 框架允许通过多个线程并发取样和通过单独的线程组对不同的功能同时取样。
3、精心的GUI设计允许快速操作和更精确的计时。
4、缓存和离线分析/回放测试结果。
5、高度可扩展性:
- 可链接的取样器允许无限制的测试能力。
- 各种负载统计表和可链接的计时器可供选择。
- 数据分析和可视化插件提供了很好的可扩展性以及 以及个性化。
- 功能可以用来为测试提供动态输入或提供数据操作。
- 支持脚本取样器(Groovy,BeanShell、BSF和JSR223兼容的语言)。
要求
因为Jmeter是纯java的,所以必须安装jdk,3.2版本JMeter要求的最低版本jdk是8及以上的,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
JMeter有一些可选jars,如果有需要,是需要额外安装的:
- JDBC—测试数据库时候使用,如何使用可以参考我的文章JMeter之数据库连接JDBC安装与使用
- JMS—测试基于JMS的消息中间件(MOM)时候使用
- Bouncy Castle —在需要SMIME断言的时候使用
二、正确打开方式
界面打开方式,进入 bin
目录,双击 jmeter.bat
,打开了jmeter的界面。打开的时候,cmd.exe有如下的提示,其实就是只有创建测试场景or调试的时候用下界面模式,其他情况下需要用非界面模式:(因为界面模式会在多线程测试,消耗大量的内存和cpu,导致卡死)
================================================================================
Don't use GUI mode for load testing, only for Test creation and Test debugging !
For load testing, use NON GUI Mode:
jmeter -n -t [jmx file] -l [results file] -e -o [Path to output folder]
& adapt Java Heap to your test requirements:
Modify HEAP="-Xms512m -Xmx512m" in the JMeter batch file
非界面打开方式,运行如下脚本jmeter -n -t [jmx file] -l [results file] -e -o [Path to output folder]
-h 帮助 -> 打印出有用的信息并退出
-n 非 GUI 模式 -> 在非GUI 模式下运行 JMeter
-t 测试文件 -> 要运行的 JMeter 测试脚本文件
-l 日志文件 -> 记录结果的文件
-r 远程执行 -> 启动远程服务
-H 代理主机 -> 设置 JMeter 使用的代理主机
-P 代理端口 -> 设置 JMeter 使用的代理主机的端口号
为了适应测试需求,避免本机内存溢出,还有可以修改jmeter.bat
的参数如下:
set HEAP=-Xms256m -Xmx256m
set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m
改为:
set HEAP=-Xms256m -Xmx1024m
set NEW=-XX:NewSize=128m -XX:MaxNewSize=512m