为什么我不应该使用max_connections的最大值

时间:2015-03-18 09:38:57

标签: mysql

在MySQL上,有没有理由不将max_connections设置为最大值(100000)?

这种方法的副作用是什么?

1 个答案:

答案 0 :(得分:4)

来自docs:- Too many connections

  

允许的连接数由   max_connections系统变量。默认值为151以进行改进   MySQL与Apache Web服务器一起使用时的性能。   (以前,默认值为100.)如果您需要支持更多   连接,你应该为这个变量设置一个更大的值。

     

mysqld实际上允许max_connections + 1个客户端连接。该   额外连接保留供具有SUPER的帐户使用   特权。通过向管理员授予SUPER权限而不是   对于普通用户(谁不需要它),管理员可以连接   到服务器并使用SHOW PROCESSLIST来诊断问题,即使   已连接的非特权客户端的最大数量。见章节   12.7.5.30,“SHOW PROCESSLIST语法”。

     

MySQL可以支持的最大连接数取决于   给定平台上的线程库的质量,RAM的数量   可用,每个连接使用多少RAM,工作量来自   每个连接,以及所需的响应时间。 Linux或Solaris   应该能够支持500到1000个同时连接   如果你有很多千兆字节,通常和多达10,000个连接   RAM可用,每个工作负载低或响应   时间目标不高。 Windows仅限于(打开表格×2 +打开   连接)< 2048由于使用了Posix兼容层   平台。

     

可能需要增加开放文件限制。另见第2.5节,   “在Linux上安装MySQL”,了解如何提升操作系统   限制MySQL可以使用多少句柄。

如果您尝试建立更多连接,那么您的系统可以支持哪些连接,最后所有这些连接将默认关闭,因为您的系统配置不支持它。