在 IIS7 上设置 MySQL innodb 缓冲池大小

在 IIS7 上设置 MySQL innodb 缓冲池大小

我正在使用 VPS、Windows 2008 r2、IIS7、MYSQL 5.1.73、硬件配置:内存 2GB、硬盘 40GB

此 VPS 上仅运行 1 个 .NET 应用程序。当前仅有 5 个用户正在使用应用程序。我发现 MySQL 服务器 INNODB BUFFER USAGE 为 100%

我在 my.cnf 或 my.ini 文件中找到了一些建议,例如更改缓冲区大小,但我在 VPS 上找不到任何文件。我也尝试了以下命令

SET GLOBAL innodb_buffer_pool_size = 33554432

但它给了我一个错误

变量“innodb_buffer_pool_size”是只读变量

有人可以给我建议一个解决方案吗?

谢谢

答案1

innodb_buffer_pool_size需要重新启动 MySQL。为什么?

看一下 Percona 的 Vadim Tkachenko 对 InnoDB 的图示

InnoDB架构

在左上角,您会看到 InnoDB 缓冲池。它包含 InnoDB 表的数据和索引页,以及一个巨大的暂存器,用于将二级索引更改从缓冲池迁移到插入缓冲区。所有这些内容都必须写入磁盘,并且所有事务都必须完成。由于所有这些都必须发生,因此最好保留innodb_buffer_pool_size作为静态变量。

您需要做的是将该选项添加到 my.ini

[mysqld]
innodb_buffer_pool_size = 32M

并重新启动mysql。

相关内容