MySQL 5.7间歇性最大连接数错误

时间:2018-12-22 01:49:53

标签: mysql connection max

我在MySQL 5.7上遇到了“连接过多”的问题,导致服务崩溃。系统变量max_connections设置为1000,平均每个线程有+/- 250个会话,因此奇怪的是达到了最大连接数。该问题主要出现在某些工作日晚上10点至11点之间的晚上。

该计算机是Windows 2008 R2 Enterprise Server,具有32 Gb RAM和双Xeon CPU。这是更多环境信息:

Statement

示例日志文件

    Variable            |   Max Connection Memory
-------------------------------------------------
join_buffer_size        |       250.00 MB
read_buffer_size        |       62.50 MB
read_rnd_buffer_size    |       250.00 MB
sort_buffer_size        |       250.00 MB
max_connections = 1000  |       812.50 MB

Timeouts                    |   VALUE
-------------------------------------------
connect_timeout             |   10
delayed_insert_timeout      |   300
have_statement_timeout      |   YES
innodb_flush_log_at_timeout |   1
innodb_lock_wait_timeout    |   50
innodb_rollback_on_timeout  |   OFF
interactive_timeout         |   28800
lock_wait_timeout           |   31536000
net_read_timeout            |   30
net_write_timeout           |   60
rpl_stop_slave_timeout      |   31536000
slave_net_timeout           |   60
wait_timeout                |   28800
-------------------------------------------
max_allowed_packet          | 33554432
slave_max_allowed_packet    | 1073741824

我对所发生的事情有些茫然。任何建议都将非常有用!

1 个答案:

答案 0 :(得分:0)

您的my.ini [mysqld]部分要考虑的建议

join_buffer_size=256K  # from 250M to reduce RAM request
read_buffer_size=128K  # from 62.50M to reduce RAM request
read_rnd_buffer_size=256K  # from 250M to reduce RAM request
sort_buffer_size=2M  # from 250M to reduce RAM request

前四个是RAM请求PER连接,并且您当前的配置大多数都是默认的100X,并导致服务器超出可用RAM。您可能会在MySQL的错误日志中检测到这一点。

有关其他建议,请查看我的个人资料,网络个人资料以获取联系信息,并通过Skype与我们联系。