火爆全网,性能测试-Tomcat连接数分析/jprofiler定位接口相应时长(总结)


前言

1、Tomcat链接数分析

1)影响性能的线程状态

BLOCKED,如果线程中有BLOCKED,就代表有阻塞情况,需要进行排查;

TIMED_WAITING,如果线程中有TIMED_WAITING,就代表有等待的情况,要分情况来排查;

a> 系统线程在等待(如果以java.*,并且线程快照信息比较短,可以忽略);

b> 业务线程在等待(如果以com.,cn.,org.*,线程快照信息比较长,需要重点关注);

2)数据库连接池

项目启动时,会提前创建N个数据库链接,然后存放到连接池中,如果需要执行SQL的时候,可以直接从连接池中拿到一个链接使用,使用完毕后,再放回连接池中。

3)如何确定连接池中的连接数是否不足?

线程快照,大量业务线程正在等待获取链接;

查看连接池配置,确定最大允许的连接数是多少,然后监控数据库当前连接数,判断是否达到上限;

4)如何查看服务器链接数?

yum install -y net-tools

nestat -anp | grep 3306

netstat -anp | grep 172.21.0.16:3306 | grep 14963 | wc -l

5)如何配置连接池参数?

初始连接数:1-10
最小连接数:和初始值保持一致
最大连接数:几十个,通常50个够用,不建议超过100

6)查看数据库本身的连接数

最大连接数:show variables like '%connection%',MySQL默认最大连接数是150,修改/etc/my.cnf

当前连接数:netstat -anp |grep 172.21.0.16:3306 | wc -l

7)Tomcat连接数

/usr/src/tomcat-pinter/conf

vi server.xml

在端口号处添加:

maxConnection="15000"

acceptCount="200"

请添加图片描述

maxConnection默认值10000
acceptCount默认值100
最大支持的连接数=10100

8)Redis连接数

默认最大连接数:maxClient=10000

9)Nginx连接数

最大连接数=worker的数量(CPU的核数)* 每个worker支持的最大连接数(默认1024)

2、Jprofiler定位接口相应时间长问题

1)环境准备

执行压测脚本,分析该接口tps很低,响应时间很长

高频接口100ms以内,普通接口200ms以内

请添加图片描述

2)JProfiler分析响应时间长的方法

jprofiler录制数据

压测脚本,执行1-3分钟即可

在这里插入图片描述

分析接口相应时间长的方法

通过Method Statistics查看耗时比较长的方法

在这里插入图片描述

通过call Tree可以查看详细信息

在这里插入图片描述

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

人生短暂而珍贵,唯有不断努力和奋斗,才能让它变得更加精彩和意义非凡。让我们携手并进,共同面对挑战,铸就属于自己的辉煌!

努力不是为了证明给别人看,而是为了让自己变得更好。付出和坚持,终将换来收获与成就。相信自己的能力,勇敢追逐梦想!

任何伟大的成就都始于一个勇敢的决定。珍惜每一个机会,放手一搏,相信自己的实力和能力,为自己的梦想而奋斗!

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>