首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql突然减速,潜在的原因是什么?

Mysql突然减速,潜在的原因是什么?
EN

Server Fault用户
提问于 2011-10-23 19:09:59
回答 2查看 9K关注 0票数 5

几天前,mysql突然变得非常慢,当它们过去完成不到100 to时,需要超过10 s才能完成查询.它持续了大约一个小时,然后速度又恢复正常。是什么引起了这样的问题?

更多信息: mysql版本为5.0.51a,mysql数据库位于一个专用框中,内存为1.5GB。当mysql服务器运行缓慢时,没有使用交换。

这是来自数据库http://pastebin.com/au6yMWqQ的mysqlreport报告,没有一个缓存是满的。

我注意到服务器用于解析主机名的dns服务器最近有些慢。这会有影响吗?

谢谢

EN

回答 2

Server Fault用户

发布于 2011-10-23 19:26:05

有很多因素可能是造成这种情况的原因。

如果您可以自己测量查询,那么慢解析器就不会产生影响。但是,当连接到服务器时,一个缓慢的解析器肯定会产生影响--如果用户根据他们连接的主机名进行访问的话。MySQL还可以选择记录连接的主机名。

mysql-报告中没有太多关于索引的内容。当我看到这种情况发生时,我通常会做的是,我接受一个需要很长时间的查询,然后在上面运行EXPLAIN。如果它不使用任何索引,并且需要进行一次完整的表扫描--我想看看是否能够添加一个索引,使其更快。我以前见过索引因意外而消失(有人意外地删除了它,升级脚本删除了它,之后没有将它放回去,或者类似的)。

服务器可能以多种方式重载:

  • 你的CPU指标是怎么说的?它是卡在IOWait、系统时间、用户时间中,还是实际上处于闲置状态?
  • 根据数据库的不同,它实际上可能是一个冷查询缓存,需要一段时间才能在服务器重新启动后取暖。如果数据变化很大,这是不太可能的,但如果数据主要用于查找,则可能会发生这种情况。

它还可以是一系列的查询,这些查询锁定了表--防止每次在大约10秒内进行查找。如果将缓慢的查询记录到文件中,则可以获得有关这方面的信息。

它可能是MySQL中的一个bug。要证明这一点有相当沉重的负担,但它确实发生了。

你需要更多的数据来找出原因。您需要CPU、内存、MySQL度量等指标。我可以建议像Munin这样的监控工具吗?有一个非常好的MySQL插件,它将为您提供有趣的数据。

票数 3
EN

Server Fault用户

发布于 2011-10-23 20:13:23

在MySQL服务器上获取可能正在消耗资源的信息的最快方法可能是以下简单的命令:

代码语言:javascript
复制
SHOW PROCESSLIST;

它将告诉您哪些MySQL进程是活动的,它们活动了多长时间,以及它们正在做什么。每当我的MySQL服务器出现问题时,说明PROCESSLIST是我的第一行‘防御’。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/324114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档