Jmeter 性能压测-Tomcat连接数

1、影响性能的线程状态

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

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

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

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

2、数据库连接池

项目启动时,会提前创建N个数据库链接,然后存放到连接池中。

如果需要执行SQL的时候,可以直接从连接池中拿到一个链接使用,使用完毕后,再放回连接池中。

3、如何确定连接池中的连接数不足?

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

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

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

  1. yum install -y net-tools

  2. nestat -anp | grep 3306

  3. 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连接数

在端口号处添加:

  1. maxConnection="15000"

  2. acceptCount="200"

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

8、Redis连接数

默认最大连接数:maxClient=10000

9、Nginx连接数

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

相关推荐
SL_staff1 小时前
JVS-BI 实战:业务人员如何用零代码 ELT + 可视化配置构建实时经营分析闭环
java·spring·全栈
SL_staff1 小时前
企业AI落地难?JVS-AI渐进式实践:安全可控、小切口验证、标准化沉淀与规模化复制
java·开源·aigc
SL_staff3 小时前
JVS数字底座实践:构建企业级统一内容管理平台的技术路径
java·产品
nice_lcj5203 小时前
【从零理解 Spring AI · 12】MCP 的两种角色:做客户端还是做服务端
java·后端·spring·spring ai·ai应用开发
桦说编程4 小时前
TransmittableThreadLocal 解读:从 CRR 机制到上下文所有权
java·后端·源码
xys_6784 小时前
JavaEE通关手册:初识Java
java·开发语言
文丑颜不良啊4 小时前
LeetCode2461~2480题目解析
java·leetcode
文丑颜不良啊5 小时前
LeetCode2441~2460题目解析
java·leetcode
阿屿6 小时前
从零手搓 AI 伴侣(二):好感度通胀危机,与它的「货币政策」
java·人工智能
灿飞6 小时前
Kotlin与Java虚拟机十一:类与属性:构造顺序、backing field 与显式 backing field
java·后端·kotlin