Hikari连接池配置之最大连接数(MySQL篇)

  • Hikari连接池配置之最大连接数
  • MySQL数据库最大连接数修改
  • MySQL数据库清理Sleep连接

Hikari连接池配置参考
建议根据实际访问量设置setMaximumPoolSize,不宜过大,否则会造成数据库连接数太多,无法访问。
生产环境和测试环境可区别设置,比如:测试环境设置10,生产环境设置20

// Hikari连接池配置
    HikariConfig config = new HikariConfig();
    config.setMaximumPoolSize(20);
    ...

最大连接数之MySQL篇
通常,MySQL数据库的默认最大连接数是100。实际情况下,我们需要大于100。
下面介绍如何修改MySQL最大连接数

  1. 命令行修改
    首先通过命令行登录MySQL,查看当前最大连接数:

    mysql> show variables like '%max_connections%';

    修改最大连接数:

    mysql> set GLOBAL max_connections = 600;

    注意:这种方式设置的最大连接数只在当前服务进程中有效,一旦MySQL重启,就会恢复到初始状态。

  2. 配置文件修改
    打开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

相关推荐