MySQL 优化 - 糟糕的 innodb 设置或硬件不足?

标签 mysql optimization

我目前正在尝试针对主要是 INSERT 和 UPDATE 语句的请求优化我的 MySQL 数据库(运行 innodb 引擎)。

我使用的是一台非常基本的服务器,配备 2GB 内存/2 个 CPU 和 40GB 磁盘。我浏览了很多 MySQL 文档,包括优化 (https://dev.mysql.com/doc/refman/5.7/en/optimizing-innodb-diskio.html) 和内存使用 (https://dev.mysql.com/doc/refman/5.7/en/memory-use.html)。

我已经将我的 my.conf 文件设置为如下:

[mysqld]
default-storage-engine = innodb
innodb_buffer_pool_size = 2147483648
innodb_buffer_pool_instances = 4 
innodb_buffer_pool_chunk_size = 1073741824 
innodb_change_buffer_max_size=30

尽管增加了池大小、 block 大小和实例数量,但我仍然看到严重的查询瓶颈,并且两个 CPU 都以 100% 的速度运行。

我可以在 innodb 引擎上做更多烦人的事情来减少这些瓶颈吗?还是仅仅是使用更高规范硬件的情况?

最佳答案

innodb_buffer_pool_size = 2147483648 NOT 在 2GB 服务器上工作。更改为 300M

你有一台微型机器;如果您增加了任何其他设置,请还原更改!

让我们看看你的my.cnf;可能会缩小一些设置,以便您可以容纳 2GB(或 2GiB)的 RAM。

关于MySQL 优化 - 糟糕的 innodb 设置或硬件不足?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40329936/

相关文章:

开发中的 Rails 3 优化工具?

c++ - pqxx 返回刚刚插入的行的 id

C# 在初始化 vs get 中创建 List<T>

mysql - 创建子查询时遇到问题

php - 如果条件为真,则选择数据

algorithm - 数组中每一对的优化算法

c++ - 编译时已知条件的标准 if/else?

mysqlfrm 重定向到文本文件

php - 在代理服务器后面时从 CakePHP 访问数据库

php - MySQL 表中的斜线,但使用 PDO 和参数化查询。这是怎么回事?