tomcat连接数分析

Tomcat链接数分析

影响性能的线程状态

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

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

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

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

数据库连接池

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

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

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

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

如何查看服务器链接数?

yum install -y net-tools

nestat -anp | grep 3306

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

如何配置连接池参数?

初始连接数:1-10

最小连接数:和初始值保持一致

最大连接数:几十个,通常50个够用,不建议超过100

查看数据库本身的连接数

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

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

Tomcat连接数

/usr/src/tomcat-pinter/conf

vi server.xml

在端口号处添加:

maxConnection="15000"

acceptCount="200"

maxConnection默认值10000

acceptCount默认值100

最大支持的连接数=10100

Redis连接数

默认最大连接数:maxClient=10000

Nginx连接数

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

posted @ 2023-07-11 09:28  常疯大虾  阅读(410)  评论(0编辑  收藏  举报