MySQL 的 WAMP 服务器性能调优

Aji*_*t S 7 mysql windows wamp

我们有一个 Drupal 站点,在WAMP 服务器上运行着将近 2000 个页面。这些页面还包含图像和嵌入其中的 Flash 视频。因此,它们在正常设置下需要一些时间来加载。

预计将有近 200-300 名用户同时使用该系统(预计该数字将在以后增长)。

开发服务器(在我们公司的内部网上)有 16 GB RAM,运行 Windows7 - 64 位操作系统。我可以看到里面wamp/bin/mysql/mysql5.5.16/有文件

  1. my.ini
  2. my-huge.ini
  3. my-innodb-heavy-4G.ini

我查看了它们两个,我不确定它们每个的目的是什么,以及我的 WAMP 服务器目前使用哪个。另外,我需要知道使用my-huge.ini和的区别my-innodb-heavy-4G.ini。我还配置了 Apache SOLR 来索引搜索(我不知道这是否相关)。

PS:Drupal 将页面(连同图像和视频的链接)存储到数据库中,图像和其他媒体存储在站点根目录下的文件夹中。

Rol*_*DBA 6

差异与要求 mysqld 处理的预期容量有关

my_huge.ini

  • 没有设置 max_connections
  • 已注释掉 innodb 设置
  • 预设值
    • sort_buffer_size = 2M
    • read_buffer_size = 2M
    • read_rnd_buffer_size = 8M
    • myisam_sort_buffer_size = 64M

my-innodb-heavy-4G.ini

  • 将 max_connections 设置为 100
  • 启用了 innodb 设置
  • 预设值
    • max_allowed_pa​​cket = 16M
    • binlog_cache_size = 1M
    • max_heap_table_size = 64M
    • read_buffer_size = 2M
    • read_rnd_buffer_size = 16M
    • sort_buffer_size = 8M
    • join_buffer_size = 8M
    • 线程缓存大小 = 8
    • 线程并发= 8
    • query_cache_size = 64M
    • query_cache_limit = 2M

如果未指定,则使用默认值。无论你想使用哪个,你必须将其复制到my.ini并重新启动mysqld才能生效。

  • 如果使用 my-huge.ini,则必须关闭 mysqld,将 my-innodb-heavy-4G.ini 复制到 my.ini 中,然后启动 mysqld。
  • 如果使用my-innodb-heavy-4G.ini,则必须关闭mysqld,删除innodb日志文件(ib_logfile0,ib_logfile1),将my-innodb-heavy-4G.ini复制到my.ini,然后启动mysqld。

由于您说 DB Connections 的数量预计会增加,因此您必须将max_connections提高到更高的值,但您必须平衡 RAM 的使用。平衡它的最佳方法是运行一些诊断程序,如 mysqltuner.pl,并获得调整每个连接和每个实例的设置的建议。

由于您在 WAMP 环境中运行 MySQL,因此我不会超过总内存的 25% 的 RAM,因为您必须为 Windows、Apache 和 PHP(或 Perl 或 Python)提供应有的 RAM。(我很高兴您使用的是 Apache 而不是 IIS,否则这将是一个 WIMP 环境!!!)