我应该为MySQL设置什么max_connection?

时间:2012-08-31 11:26:28

标签: mysql connection

我在 Linux Centos 上使用 MySQL 5.1.35 数据库。

Linux服务器具有 2GB RAM,14GB磁盘空间

我使用Java中的 Restlet 框架创建了web服务,该框架具有千位用户访问权限。

我想为最大并发连接设置max_connection。

所以请建议我应该设置 max_connection

提前致谢。

3 个答案:

答案 0 :(得分:11)

您需要计算MySQL引擎所需的内存。请参见手册here

如果您使用的是MYISAM表,则可以使用以下公式计算内存需求:

key_buffer_size + (read_buffer_size + sort_buffer_size) * max_connections = K bytes of memory 

理想情况下,在您的情况下,此值不应超过2 GB。

配置参数取决于应用程序和查询的类型,但标准值可能是:

key_buffer_size = 1024MB + (read_buffer_size = 1MB + sort_buffer_size = 4MB) * 200 ~= 2GB

key_buffer_size是全局变量,而read_buffer_size and sort_buffer_size是会话级参数。

答案 1 :(得分:5)

这取决于您拥有的内存量以及其他设置的配置方式。您可以使用MySQL Calculator

答案 2 :(得分:0)

您需要提供以下信息:

  1. 有多少用户使用该应用程序?
  2. 有多少应用程序连接到数据库?
  3. 什么是负载以及如何给出查询?
  4. 对于服务器配置:

    1. 最好使用您选择的Linux为Apache / PHP和MySQL提供2个独立的服务器。
    2. 尽量不要在任何一个盒子上跑太多其他东西;留下Apache / PHP和MySQL的资源。
    3. 您可以在Tuning MySQL获得更多信息。