MySQL优化 - 较差的innodb设置或硬件不足?

我正在尝试为我的请求优化我的MySQL数据库(运行innodb引擎),主要是INSERT和UPDATE语句 .

我'm using a very basic server with 2GB memory/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

尽管增加了池大小,块大小和实例数量,但我仍然看到显着的查询瓶颈,并且两个CPU都以100%运行 .

我可以在innodb引擎上做更多烦恼来减少这些瓶颈吗?或者仅仅是使用更大规格硬件的情况?

回答(2)

2 years ago

innodb_buffer_pool_size = 2147483648 将无法在2GB服务器上运行 . 改为 300M .

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

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

2 years ago

可怕的innodb设置是肯定的 . 你的 innodb_buffer_pool_size 大于2GB,它是2GiB ..它甚至不应该像所有人建议的那样关闭,也有记录 .

可能也是硬件不足,甚至编程错误的SQL .