背景
在生场中突然遇到客户访问应用,直播课程出现连接不上的问题。开始以为是代理服务器太少,连接太慢,超负荷。在扩容之后代理服务器后问题依然存在。后来根据查找发现可能mysql的问题登录mysql时突然报错
MySQL: ERROR 1040: Too many connections
造成这种情况的一种原因是访问量过高,MySQL服务器抗不住,这个时候就要考虑增加从服务器分散读压力;另一种原因就是MySQL配置文件中max_connections值过小。
解决思路与方法:
#首先我们来看下mysql的最大连接数:
show variables like '%max_connections%';
如果服务器的并发连接请求量比较大,
建议调高此值,以增加并行连接数量,
当然这建立在机器能支撑的情况下,
因为如果连接数越多,介于MySQL会为每个连接提供连接缓冲区,
就会开销越多的内存,所以要适当调整该值,不能盲目提高设值。
#查看当前状态的连接数量,以定夺该值的大小。
show