JMeter-WEB应用性能测试工具的简单用法及web应用tomcat下简单JVM性能调优

工具文件和操作文件在 我的网盘/编程软件及工具包/工具包/JMeter-WEB应用性能测试工具的简单用法及web应用tomcat下简单JVM性能调优

 1.解压apache-jmeter-2.13.zip

2.双击解压目录后的bin目录下的jmeter.bat

出现如下GUI界面

3.给测试计划添加线程组右键测试计划->添加->Threads(Users)->线程组   无需保存

自动会出现如下界面

在界面中定义线程数为10,循环次数为1000(表示每个线程请求目标controller 1000次)无需保存

4.紧跟着上面继续操作,给线程组添HTTP请求 在上图的线程组右键->添加->Sampler->HTTP请求

出现如下界面

然后添加请求需要的一些信息,无需保存如下图

5.紧跟着添加聚合报告 给HTTP请求添加聚合报告

在上图HTTP请求右键->添加- >监听器- >聚和报告  无需保存

 

 

 

 

Label #Samples等含义解释如下-- 重点是Throughput:吞吐量,即每秒请求响应数

理解 JMeter 聚合报告(Aggregate Report

Aggregate Report 是 JMeter 常用的一个 Listener,中文被翻译为“聚合报告”。今天再次有同行问到这个报告中的各项数据表示什么意思,顺便在这里公布一下,以备大家查阅。

如果大家都是做Web应用的性能测试,例如只有一个登录的请求,那么在Aggregate Report中,会显示一行数据,共有10个字段,含义分别如下。

Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值

#Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100

Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间

Median:中位数,也就是 50% 用户的响应时间

90% Line:90% 用户的响应时间

Note:关于 50% 和 90% 并发用户数的含义,请参考下文

http://www.cnblogs.com/jackei/archive/2006/11/11/557972.html

Min:最小响应时间

Max:最大响应时间

Error%:本次测试中出现错误的请求的数量/请求的总数

Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数

KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec

 

 

 

另外TOMCAT参数调优测试:

 

 

出现如下界面,点Arguments

对VM arguments进行添加

原:

-Dcatalina.base="D:\installation\installation\apache-tomcat8-test-JMeter" -Dcatalina.home="D:\installation\installation\apache-tomcat8-test-JMeter" -Dwtp.deploy="D:\installation\installation\apache-tomcat8-test-JMeter\wtpwebapps" -Djava.endorsed.dirs="D:\installation\installation\apache-tomcat8-test-JMeter\endorsed"

然后在这些参数后加入下面的调优参数进行测试(参数含义参考(E:盘或者我的网盘\我的笔记)\学习文档子目录压缩\java高级\JVM\蚂蚁jvm优化1\(深入理解Java虚拟机.docx里堆得参数设置这个结构和垃圾回收机制算法垃圾回收器) 或者百度

 

 

测试串行吞吐量

-XX:+PrintGCDetails -Xmx32M -Xms32M

-XX:+HeapDumpOnOutOfMemoryError

-XX:+UseSerialGC

-XX:PermSize=32M

GC回收6  吞吐量301

扩大堆的内存

-XX:+PrintGCDetails -Xmx512M –Xms32M

-XX:+HeapDumpOnOutOfMemoryError

-XX:+UseSerialGC

-XX:PermSize=32M

GC回收2  吞吐量349

结论 最大内存越大,吞吐量越高。

调整初始堆

-XX:+PrintGCDetails -Xmx512M –Xms256M

-XX:+HeapDumpOnOutOfMemoryError

-XX:+UseSerialGC

-XX:PermSize=32M

GC回收0  吞吐量419

 

并行回收(UseParNewGC)

-XX:+PrintGCDetails -Xmx512M –Xms256M

-XX:+HeapDumpOnOutOfMemoryError

-XX:+UseParNewGC

-XX:PermSize=32M

GC回收0 吞吐量532

 

测试结果1794 179

 

 

并行合并回收(UseParallelGC)

-XX:+PrintGCDetails -Xmx512M -Xms256M

-XX:+HeapDumpOnOutOfMemoryError

-XX:+UseParallelGC

-XX:+UseParallelOldGC

-XX:ParallelGCThreads=8

-XX:PermSize=32M

 

测试结果2100 209

 

 

可以看到,堆初始内存越小,启动时GC回收次数越多,最大内存越大,吞吐量越高,

企业中一般都市用并行合并回收的,不可能用串行一个GC线程回收,效率太慢

例子:

1.如加入并行合并回收(UseParallelGC)后 VM arguments内容为

-Dcatalina.base="D:\installation\installation\apache-tomcat8-test-JMeter" -Dcatalina.home="D:\installation\installation\apache-tomcat8-test-JMeter" -Dwtp.deploy="D:\installation\installation\apache-tomcat8-test-JMeter\wtpwebapps" -Djava.endorsed.dirs="D:\installation\installation\apache-tomcat8-test-JMeter\endorsed"

-XX:+PrintGCDetails -Xmx512M -Xms256M

-XX:+HeapDumpOnOutOfMemoryError

-XX:+UseParallelGC

-XX:+UseParallelOldGC

-XX:ParallelGCThreads=8

-XX:PermSize=32M

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值