MYSQL 最大连接数?
最大连接数也就是mysql服务最大支持多少客户端连接服务
查看服务支持最大连接数:
show variables like '%max_connections%';
如下:
如何查看 MYSQL 服务被多少个客户端连接了?
show processlist;
如下:
其中 id 为 13 的用户的 Command 列的状态为 Sleep ,这意味着该用户连接完 MySQL 服务就没有再执行过任何命令,也就是说这是一个空闲的连接,并且空闲的时长是 236 秒。
MYSQL 空闲连接会一直存在?
查看空闲连接最大空闲时长
show variables like 'wait_timeout';
如下:
MySQL 定义了空闲连接的最大空闲时长,由 wait_timeout 参数控制的,默认值是 8 小时(28880秒),如果空闲连接超过了这个时间,连接器就会自动将它断开。
max_connections 默认值是多少, 设置范围是多少?
默认值 151,MySQL服务器允许的最大连接数是 16384
max_connections 设置多少合适?
理想公式:
服务器响应的最大连接数值占服务器上限连接数值的比例值在10%以上,如果在10%以下,说明mysql服务器最大连接上限值设置过高。
查看服务器响应最大连接数
show global status like 'Max_used_connections';
验证最大连接数值是否合理
Max_used_connections / max_connections = 215/1000 ≈ 21.5%
注意:
创建数据库连接相对来说是比较耗时的,不仅有三次握手,还有 MYSQL 的三次认证过程,这样就多了很多网络开销,为了复用连接可以使用连接池技术,也就是维护一个连接池,把连接放入池子中,用了直接取即可,无需重新建立TCP连接,当然连接池中的连接不是永久有效,我们实际情况,给他们设置生命周期。
来源地址:https://blog.csdn.net/qq_21441663/article/details/129414250