自从我导入一个相当大的数据库以来,MySQL似乎运行速度非常慢,有时我的本地站点只是坐在那里加载和加载并且永远不会显示错误。在chrome的状态栏中,它只是说“发送请求...”我的所有HTML网站都立即加载,但是任何必须访问数据库的内容都不会加载。这个问题似乎是随机发生的。我可以在我的本地网站上工作大约30分钟,然后突然MySQL决定龟在我身上。我认为这是一个记忆问题,但老实说,我不知道是什么导致了它。任何人都有任何想法尝试?
答案 0 :(得分:2)
首先,尝试安装一些工具来监控一般内存和CPU使用情况:
OS X包含一个名为 Activity Monitor 的实用程序,它是unix top
命令的更直观的版本,并包含一些简单的历史记录图。如果在计算机运行缓慢时查看活动监视器,可以单击列标题进行排序(按降序“CPU%”或“Real mem”排序可能会识别出一个活跃的罪魁祸首)。
还有一些更精细的监控工具,例如Menu Meters,其中包含一组有用的菜单栏附加功能。菜单栏附加功能会实时更新,因此您可以配置感兴趣的信息,并在资源不足时为您提供一些提示。
如果您有定期减速,这也可能是您的计算机正在为虚拟内存分配/删除交换文件或将活动内存交换到磁盘时。上述任何一个实用程序都应该给出一些关于已分配/使用的交换的提示以及该分配是否正在快速变化。
然后,看看一些特定于MySQL的用法:
启用MySQL中的slow query log;它将帮助您找到不是最佳的查询
发生减速时,请尝试使用mysql
shell查看当前正在运行的查询:
show processlist
还可以安装一个控制台实用程序mytop
utility,它可以方便地监视MySQL进程列表(它会自动刷新,如unix top
)。我相信您也可以使用MySQL Workbench从更光亮的GUI进行类似的管理监控,但我最近没有使用它。
希望上面给出一些有助于追踪一般问题的想法。一旦你能找到减速发生的原因(资源少,索引丢失,查询错误......),你就可以采取适当的步骤来纠正。
O'Reilly High Performance MySQL书也是一本内容丰富的读物:)。
答案 1 :(得分:0)
可能会发生许多问题:
这些只是影响性能的一些因素,但可能是最常见的一些。如果这没有帮助,您需要在问题中添加更多详细信息。