我们现在正在运行一个大型网站,它有一个专用的VPS,用于运行MySQL的数据库服务器,没有别的。目前,所有四个CPU内核一直以接近100%的速度运行,但内存使用率在可用的4096MB内大约为268MB。我想知道如何通过调整MySQL的设置来更好地利用内存并减少CPU负载?
以下是我们目前在my.cnf中的内容:http://pastie.org/private/hxeji9o8n3u9up9mvtinbq
由于
答案 0 :(得分:2)
我首先将key_buffer_size变量设置为大约1GB的值 - 请参阅文档here
还有很多可以调整,但这应该提供一个简单的良好起点。
同样值得检查表上的索引,因为这也会产生很大的影响,如果没有好的索引,key_buffer_size就不会产生巨大的影响。
答案 1 :(得分:0)
我强烈建议您使用MySQLTuner。它是一个perl脚本,用于查看数据库配置并提供可读的统计信息(例如缓存命中率)。它还根据观察到的统计信息提出了一些配置建议。虽然我发现建议相当不错,但请确保允许数据库运行一段时间,以便能够观察到真实的统计数据。