9

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

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

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

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

所以请建议我max_connection应该设置什么?

提前致谢。

4

3 回答 3

17

您需要计算 MySQL 引擎所需的内存。在此处查看手册

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

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会话级参数。

于 2012-08-31T11:34:36.543 回答
7

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

于 2014-09-22T14:51:33.450 回答
1

您需要提供以下信息:

  1. 有多少用户在使用该应用程序?
  2. 有多少应用程序连接到数据库?
  3. 负载是多少以及如何给出查询?

对于服务器配置:

  1. 最好使用您选择的 Linux 为 Apache/PHP 和 MySQL 配备 2 个单独的服务器。
  2. 尽量不要在任何一个盒子上运行太多其他东西;将资源留给 Apache/PHP 和 MySQL。

您可以在Tuning MySQL获得更多信息。

于 2012-08-31T11:31:13.137 回答