Jmeter压测

男娘i 2022-10-10 06:06 422阅读 0赞

Jmeter工具使用入门教程

添加线程组
在这里插入图片描述
用户数200,测试时间5分钟
在这里插入图片描述

添加取样器(这一步与你们自己的系统的协议对上,你是http就选择http)
在这里插入图片描述
添加响应结果断言并设置断言判断
在这里插入图片描述
在这里插入图片描述
添加聚合报告
在这里插入图片描述
添加TPS曲线,这一步需要装插件

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

如何做压测

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

如何看压测结果?

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

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

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

有哪些调优参数?

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

二、JVM启动参数调优设置

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

三、服务器设置

  1. [root@ksitopap015l ~]vi /etc/sysctl.conf
  2. net.ipv4.tcp_tw_reuse=1
  3. net.ipv4.tcp_tw_recycle=0
  4. net.ipv4.tcp_syncookies=1
  5. net.ipv4.tcp_fin_timeout=30
  6. net.ipv4.tcp_keepalive_time=1200
  7. net.ipv4.tcp_max_syn_backlog=8192
  8. net.ipv4.tcp_max_tw_buckets=20000
  9. net.ipv4.ip_local_port_range=12000 65535
  10. net.ipv4.tcp_retries2=5
  11. net.ipv4.tcp_syn_retries=3
  12. net.ipv4.tcp_max_syn_backlog=8192
  13. net.ipv4.tcp_max_tw_buckets=20000
  14. net.ipv4.ip_local_port_range=12000 65535
  15. net.ipv4.tcp_retries2=5
  16. net.ipv4.tcp_syn_retries=3
  17. # 修改完成后,执行/sbin/sysctl -p
  18. [root@ksitopap015l ~]vi /etc/security/limits.conf
  19. appadmin soft nofile 65535
  20. appadmin hard nofile 65535
  21. appadmin soft nproc 65535
  22. appadmin hard nproc 65535
  23. # 修改用户可用最大线程数是为102400
  24. [root@ksitopap015l ~]vi /etc/security/limits.d/20-nproc.conf
  25. appadmin soft nproc 102400

关于工具

文中用到的全套工具连接

发表评论

表情:
评论列表 (有 0 条评论,422人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Jmeter分布式

    一、为什么要使用分布式测试 按照一般的压力机配置,jmeter的GUI模式下(Windows),最多支持300左右的模拟请求线程,再大的话,容易造成卡顿、无响应等情况,这是限

    相关 Jmeter

    Jmeter工具使用入门教程 添加线程组 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text