2016-07-05 243 views
3

我的网站每天有超过5000个用户。所以我改变了服务器的mysql max连接如下mysql中最大连接数会影响站点性能?

 SET global max_connections = 1000000 

我也编辑了my.conf文件。现在我觉得我的网站加载非常缓慢。这会影响网站加载时间吗?请澄清我的疑问。在此先感谢

+1

这是一个很好的问题,答案是开始缓存的东西,而不是所有的时间使用数据库,尤其是如果大多数用户正在查看相同的内容。你也应该确保你没有为每个用户提供多个数据库连接。很少有人在这个问题上投入更多的资源是一个可行的选择,优化更为可取。 – ArtisticPhoenix

回答

4

在增加连接限制之前,您需要确保托管数据库的计算机可以处理额外的工作负载。可支持的最大连接数取决于以下变量:

  • 可用RAM - 系统将需要有足够的内存来处理 额外的工作量。

  • 平台的线程库质量 - 这将根据平台上的
    而变化。例如,Windows可以通过它使用的Posix
    兼容性层进行限制(尽管该限制不再适用于
    MySQL v5.5及更高版本)。但是,根据体系结构(x86与x64)以及每个应用程序进程可消耗多少内存,存在备忘录使用问题

  • 需要的响应时间 - 增加数量可以增加
    响应请求的时间量。这应该被测试到
    保证它在投入生产之前满足您的需要。

  • 的每个连接使用的RAM容量 - 同样,RAM是很重要的,
    所以你需要知道,如果每个连接使用的RAM将超载 系统或没有。
  • 每个连接所需的工作量 - 工作负荷也将影响需要哪些系统资源来处理附加连接。

要考虑的另一个问题是,您可能还需要增加打开的文件限制 - 这可能是必要的,以便有足够的句柄可用。

您可以选择使用像Morpheus这样的服务,它可以在云上提供数据库即服务,而不用担心自己系统上的这些设置。借助Morpheus,您可以轻松快速地设置您对多个数据库(包括MySQL,MongoDB,Redis和Elasticsearch)的选择。

+0

MySQL文档仍然提到MySQL 5.7中的Windows限制:“由于该平台上使用的Posix兼容性层,Windows限于(打开表格×2 +打开连接)<2048”。来源:https://dev.mysql.com/doc/refman/5.7/en/too-many-connections.html – ameba