我们安装了一个安装了MySQL 5.1的Windows 2003服务器。因为几天mysqldump比正常慢了近1个小时。数据库的总大小正在增长。每天1 MB。差别不大。
我们的技术支持人员在我们的机器上找不到奇怪的东西。他说,使用MySQL对我们的服务器进行碎片整理是个好主意。我从未想过碎片整理,但我安装了Defraggler。在分析之后,它表示80%的碎片!
这可能是转储在近1小时内变慢的问题/原因吗? 我的第一个想法是一些Windows更新可能是原因。
请发给我你的想法
在MySQL生产服务器上进行碎片整理是明智的吗? Defraggler说脱胶可能需要1天以上?
答案 0 :(得分:0)
您的数据库转储可能是磁盘绑定的,这意味着访问磁盘上的数据会限制它。
如果磁盘上的数据高度碎片化,则会严重影响性能。根据磁盘上数据的布局,MySQL可能会使用新数据填充磁盘中的许多小间隙,与大型连续数据块相比,它的工作速度要慢得多。
定期碎片整理是个好主意。但是,由于MySQL可能会锁定数据库的数据文件,因此可能需要关闭MySQL以对其文件进行碎片整理。
我建议至少在不关闭MySQL的情况下运行defraggler以尽可能地进行碎片整理。我不熟悉碎片整理程序,但是如果它成功,请尝试查看MySQL的数据是否碎片化。它可能有一个碎片文件表或磁盘上数据的图形视图。 MySQL数据文件可能是一些最大的文件,因此可以更容易找到它们。如果您发现其文件碎片很多,那么您可能需要尝试找一些时间来关闭MySQL并对其文件进行碎片整理。