Jmeter工具使用入门教程

添加线程组
Jmeter压测_响应时间
用户数200,测试时间5分钟
Jmeter压测_压力测试_02

添加取样器(这一步与你们自己的系统的协议对上,你是http就选择http)
Jmeter压测_压力测试_03
添加响应结果断言并设置断言判断
Jmeter压测_压力测试_04
Jmeter压测_压测_05
添加聚合报告
Jmeter压测_压测_06
添加TPS曲线,这一步需要装插件

还可以添加响应时间曲线,自行百度

如何做压测

转载一片比较好的文章
性能测试应该怎么做
简单来说就是TPS要和响应时间、成功率挂钩,不然TPS是没有意义的,即使你TPS几万,但是如果成功率只有50%,响应时间到了5分钟,那还有意义吗?

如何看压测结果?

首先看聚合报告
Jmeter压测_压力测试_07
错误率:错误率肯定是越低越好,理论上是要为0的,但是一般错误率在0.1%以下是可以接受的范围,然后一般来说用户量越大错误率也越大,我这里是200个用户,即线程组设置为200。然后我这里错误率是不能接受的,需要后期自己排查这些错误是什么原因。引起错误率高的原因可能是线程池,最大连接数等参数设置不够合理,比如你的应用数据库连接池最大连接数是50,然后有连接没有获取到连接就会等待,等待时间长了就报错超时,就会在失败率这里体现。
TPS:然后看TPS的值,越高越好,但一般4C8G的配置的服务器,TPS能有1000算挺不错的。我这里是应用没有连数据库,所以能有近4000。理论上来说,只要没有超过应用的承载极限,用户数越高,TPS值也会越高。但这个TPS是个均值,我们需要装插件来看TPS的波动曲线。
Jmeter压测_压测_08
可以看到我的TPS曲线波动非常的频繁,不够稳定,也是不能接受的,后期需要排查原因。引起TPS不稳定的原因有很多,比如垃圾回收太频繁,IO太频繁也有可能导致,需要自己排查。

如果压测中错误率过高,或者TPS上不去怎么排查?

可以装一个叫nmon的软件,该软件可以采集一段时间内的服务器的CPU、内存、IO等数值的变化情况,并且可以通过分析软件显示出来曲线图。通过这个软件就可以排查。
举个例子,比如TPS很低同时CPU负载也很低,但内存很高,就可以排查出来是不是硬件资源内存不够,或者应用中有太多占内存的代码。
再比如内存折线频繁周期性的高低变化不够稳定,是否是垃圾回收器运行太过于频繁。

有哪些调优参数?

一、首先应用的日志关掉或者设置为error等高级别,正常生产上也是设置为error.

二、JVM启动参数调优设置

-Xms8g -Xmx8g -Xss1024k -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -XX:NewSize=6154m -XX:MaxNewSize=6154m -XX:SurvivorRatio=8

三、服务器设置

[root@ksitopap015l ~]vi /etc/sysctl.conf

net.ipv4.tcp_tw_reuse=1

net.ipv4.tcp_tw_recycle=0

net.ipv4.tcp_syncookies=1

net.ipv4.tcp_fin_timeout=30

net.ipv4.tcp_keepalive_time=1200

net.ipv4.tcp_max_syn_backlog=8192

net.ipv4.tcp_max_tw_buckets=20000

net.ipv4.ip_local_port_range=12000 65535

net.ipv4.tcp_retries2=5

net.ipv4.tcp_syn_retries=3

net.ipv4.tcp_max_syn_backlog=8192

net.ipv4.tcp_max_tw_buckets=20000

net.ipv4.ip_local_port_range=12000 65535

net.ipv4.tcp_retries2=5

net.ipv4.tcp_syn_retries=3 
# 修改完成后,执行/sbin/sysctl  -p
[root@ksitopap015l ~]vi  /etc/security/limits.conf
appadmin  soft  nofile  65535
appadmin  hard  nofile  65535
appadmin  soft  nproc  65535
appadmin  hard  nproc  65535
# 修改用户可用最大线程数是为102400
[root@ksitopap015l ~]vi  /etc/security/limits.d/20-nproc.conf
appadmin soft nproc 102400
关于工具

文中用到的全套工具连接