生产问题三:前端显示网络错误,后端日志显示too many connections

问题场景:金融公司推出新的产品,可以进行预约,预约完成后在某个时间点进行秒杀

系统架构:nginx 作为分发器,后端2台Tomcat服务器,连接的mysql单点数据库

系统配置:连接数据库连接池500,Tomcat连接后端数据库线程并发设置20

后端日志报错:too many connections for jdbc source

分析:当秒杀开始时,200多位用户同时涌入,Tomcat后端连接数据库连接数超过数据库的设置导致报错

排查:

1、查看数据库的最大连接数,得到数据为151

show variables like '%max_connections%';

2、明显数据库的配置的最大连接数过小导致Tomcat连接数据库失败,导致报错

3、修改mysql的最大连接数(临时修改,重启失效)

set global max_connections=200

4、永久生效。修改mysql的配置文件:my.ini 或 my.cnf,修改 max_connections=100,该值最大可以达16384

5、重启mysql

由于是生产环境,采取的动作是:先临时修改设置最大连接数,然后修改mysql配置文件。下次定修打补丁时,再进行重启服务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值