linux – MySQL能否有效利用64 GB RAM?

linux – MySQL能否有效利用64 GB RAM?,第1张

概述我们遇到了一个问题,即查询一个大约有5000万行的表,并且索引大小为4 GB(表大小约为6 GB)会导致数据库服务器交换内存,并显着减慢速度.我很确定这与超出的临时表大小有关,并且它被交换到磁盘. 如果我将数据库服务器从32 GB RAM升级到64 GB RAM,我想知道MySQL数据库是否能够充分利用这个额外的内存而不是交换.我已经完成了一些变量(例如KEY_BUFFER_SIZE等),它们似乎 我们遇到了一个问题,即查询一个大约有5000万行的表,并且索引大小为4 GB(表大小约为6 GB)会导致数据库服务器交换内存,并显着减慢速度.我很确定这与超出的临时表大小有关,并且它被交换到磁盘.

如果我将数据库服务器从32 GB RAM升级到64 GB RAM,我想知道MySQL数据库是否能够充分利用这个额外的内存而不是交换.我已经完成了一些变量(例如KEY_BUFFER_SIZE等),它们似乎支持超过64 GB的设置值.但是,MysqL文档说tmp_table_size最大为4 GB.

那么内存升级是否值得呢? “查询 – 大表”问题会从中受益,还是因为4 GB的限制而无济于事?我知道可能有其他解决方案,比如重组表格以不同的方式进行分区等等……但是如果不改变表格的任何内容,额外的内存会有帮助吗?

此外,一般情况下,当从32 GB移至64 GB RAM时,MysqL是否还有其他与内存无关的变量?

我们使用64位linux(Ubuntu)作为我们的数据库服务器.

谢谢,
盖伦

解决方法 如果你正在使用InnoDB,那么设置的最重要的变量是innodb_buffer_pool_size.我会将其设置为大约80%的系统内存.一旦你在一些使用后缓存热身,你最活跃的数据(工作数据集)将在内存中(innodb_buffer_pool_size),你对它的 *** 作应该非常快.凭借64GB的内存,你绝对可以在那里体验到很多.内存对于数据库服务器来说总是一个好买的. 总结

以上是内存溢出为你收集整理的linux – MySQL能否有效利用64 GB RAM?全部内容,希望文章能够帮你解决linux – MySQL能否有效利用64 GB RAM?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1045312.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存