在MySQL上,有没有理由不将max_connections设置为最大值(100000)?
这种方法的副作用是什么?
答案 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可以使用多少句柄。
如果您尝试建立更多连接,那么您的系统可以支持哪些连接,最后所有这些连接将默认关闭,因为您的系统配置不支持它。