JMeter使用说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、简介
JMeter是Apache组织开发的基于Java的压力测试工具。
用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。
它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库,FTP 服务器, 等等。
JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能。
二、术语
1.线程组
测试里每个任务都要线程去处理,所有我们后来的任务必须在线程组下面创建。
2.取样器(Sampler)
可以认为所有的测试任务都由取样器承担,有很种,如:HTTP 请求。
3.监听器
是对取样器的请求结果显示、统计一些数据(吞吐量、KB/S……)等。
三、使用
附注:以下步骤是详细步骤(可以跳过)。
这里已经生成测试计划文件,导入即可。
若出现有问题,根据下面步骤重新建立。
1、JDK环境配置
2、解压apache-jmeter-2.6.zip,打开\apache-jmeter-2.6\bin下的jmeter.bat
3、建立线程组:右键测试计划->添加->Threads->线程组
4、建立成功后
注意:
上图,若建立5个线程,循环5次,在10秒中创建完,即每个线程相隔5/10=0.5秒。
5、添加取样器:右击线程组->添加->Sampl er->HTTP 请求
附注:一些有用的监视器
7、插件的使用(PerfMon插件)
JMeter本身对性能指标信息是不做收集的,PerfMon是用来收集被压服务器的各种性能指标,例如:CPU, Memory, Swap, Disks I/O and Networks I/O ……
7.1、JMeterPlugins-1.1.0
解压JMeterPlugins-1.1.0
将JMeterPlugins.jar放到\apache-jmeter-2.6\apache-jmeter-2.6\lib\ext下
7.2、serverAgent
如果你是windows环境:进入serverAgent目录,直接双击startAgent.bat,启动agent
注:agent启动默认监听的端口是4444
7.3、启动Jmeter。
7.4、设置
四、参数
1、图形结果
(1)样本数目:请求个数,成功的情况下等于你设定的并发数目乘以循环次数。
(2)平均:每个线程请求的平均时间
(3)中间:是代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。
(4)最新样本:表示服务器响应最后一个请求的时间.(ms)
(5)偏离:服务器响应时间变化、离散程度测量值的大小,数据的分布。
2、Summary Report
(1)Label:请求类型,如Http,FTP等请求。
(2)#Samples:图形报表中的样本数目,总共发送到服务器的样本数目。
(3)Average:图形报表中的平均值,是总运行时间除以发送到服务器的请求数。
(4)Median:图形报表中的中间值,是代表时间的数字,有一半的服务器响应时间低于该
值而另一半高于该值。
(5)Min:代表时间的数字,是服务器响应的最短时间。
(6)Max: 代表时间的数字,是服务器响应的最长时间。
(7)Error%:请求的错误百分比。
(8)Throughput:图形报表中的吞吐量,这里是服务器每单位时间处理的请求数,注意查看是
秒或是分钟。
(9)KB/sec:是每秒钟请求的字节数。
3、用表格察看结果
(1)Sample:每个请求的序号
(2)Start Time:每个请求开始时间
(3)Thread Name:每个线程的名称
(4)Label:Http:请求名称
(5)Sample Time:每个请求所花时间,单位毫秒
(6)Status:请求状态,如果为勾则表示成功,如果为叉表示失败。
(7)Bytes:请求的字节数
注:如果Status为叉,那很显然请求是失败了,但如果是勾,也并不能认为请求就一定完全成功了,因为还得看Bytes的字节数是否是所请求网页的正常大小值,如果不是则说明发生了丢包现象,也不是完全成功。
五、结果分析
1、jp@gc-PerfMon Metrics Collector
2、查看结果树
3、Summary Roport
4、用表格查看结果
六、使用扩展
1、Jmeter对Oracle数据库进行压力测试
1.1、步骤
(1)复制ORACLE的JDBC驱动JAR包文件(ojdbc14.jar)到JMeter的lib目录下。
(2)运行jmeter.bat
(3)建立线程组:右键测试计划->添加->Threads->线程组
(4)建立JDBC Connection Configuration:右击线程组->添加->配置原件->JDBC Connection
Configuration
(5)在Database Connection Configuration输入Virable Name Bound to Pool的Variable Name
内容
(6)在Database Connection Configuration输入数据库配置信息
Database URL: jdbc:oracle:thin:@192.168.1.168:1521:ptoracl
JDBC Driver class: oracle.jdbc.driver.OracleDriver
Username: lianggzone
Password:lianggzone
附注:
●Database URL 格式:jdbc:oracle:thin:@[IP地址]:[端口号]:[实例名]
●用户名、密码就是连接数据库的用户名和密码
(7)建立JDBC Request:右击线程组->添加->Sampler->JDBC Request
●Variable Name:和上面的JDBC Connection Configuration填写同样的内容。
●SQL Query:就是SQL语句。
(8)添加监视器:右击线程组->添加->监视器
附注:有用的监视器
补充:
其他数据库(如mysql等)的配置测试方法也与相同。
七、问题解惑
1、运行错误
运行,报如下错误:
Unrecognized VM option '+HeapDumpOnOutOfMemoryError'
Could not create the Java virtual machine.
errorlevel=1
请按任意键继续. . .
解决
方案一:编辑jmeter.bat文件,将set DUMP=-XX:+HeapDumpOnOutOfMemoryError注释掉。
方案二:在系统环境变量中配置较新版本的JDK
11。