Hikari连接池配置之最大连接数(MySQL篇)
2019-06-13 本文已影响0人
一个鸡蛋壳儿
- Hikari连接池配置之最大连接数
- MySQL数据库最大连接数修改
- MySQL数据库清理Sleep连接
Hikari连接池配置参考
建议根据实际访问量设置setMaximumPoolSize,不宜过大,否则会造成数据库连接数太多,无法访问。
生产环境和测试环境可区别设置,比如:测试环境设置10,生产环境设置20
// Hikari连接池配置
HikariConfig config = new HikariConfig();
config.setMaximumPoolSize(20);
...
最大连接数之MySQL篇
通常,MySQL数据库的默认最大连接数是100。实际情况下,我们需要大于100。
下面介绍如何修改MySQL最大连接数
-
命令行修改
首先通过命令行登录MySQL,查看当前最大连接数:mysql> show variables like '%max_connections%';
修改最大连接数:
mysql> set GLOBAL max_connections = 600;
注意:这种方式设置的最大连接数只在当前服务进程中有效,一旦MySQL重启,就会恢复到初始状态。
-
配置文件修改
打开MySQL配置文件/etc/my.cnf,添加配置项max_connections=600,保存。
这样,最大连接数就被设置成了600,重启MySQL后生效。
当出现数据库连接数太大,影响MySQL数据库访问时,我们需要对一些Sleep连接进行清理。
查询连接情况,可选择加上DB、HOST等查询条件:
SELECT * FROM information_schema.processlist
WHERE COMMAND = 'Sleep'
AND DB IN ( 'xx', 'yy')
AND HOST LIKE 'xxx.xxx.xx.xxx%'
ORDER BY TIME DESC;
用root用户登录数据库,清理连接:
KILL xxx;
xxx为上面SQL查询出的连接ID