我的网站最近开始拖拉,查询花费的时间比我预期的适当调整的索引要长得多。我刚在正常运行31天后重新启动了mysql服务器,现在每个查询都快了很多,整个站点的渲染速度也快了3-4倍。
有没有什么东西会让你突然想到为什么会这样?也许my.cnf上的设置不正确?有什么想法可以让我开始尝试找出原因吗?
谢谢
更新说明:我有一个16 db的专用数据库盒,mysql在一周左右的时间里占用了大约71%的内存。
发布于 2010-04-16 02:29:35
尝试执行show processlist;,也许有一些持续时间较长的线程由于某种原因没有被杀死。
类似地,执行SHOW SESSION STATUS LIKE 'Created%';来检查mysql是否没有创建到许多临时表。
服务器重新启动会自动关闭所有打开的临时表并终止线程,因此应用程序的运行速度可能会更快。
发布于 2010-04-16 02:38:54
您是否有可能无法清除/收集的临时表?
发布于 2010-04-16 04:35:11
我建议使用MySQL企业版进行分析。它有30天的试用期。我们只是用了它。我们收到的警报如下:
严重警报-表扫描过多
目标服务器似乎没有有效地使用索引。
严重警报-连接使用率过高
严重警报- CPU使用率过高
警告警报- MyISAM密钥缓存的命中率不太理想
只是一些可以探索的东西!
https://stackoverflow.com/questions/2647933
复制相似问题