在闲置服务器上查询速度慢

我有一个在VirtualBox和Windows下的专用CentOS虚拟机上运行的开发MySQL服务器。

我已经用了好几个月,performance相当不错,并且有一个SQL补丁的历史,从头开始创build一个项目的数据库,到现在为止,运行时间不到一分钟。

当我今天尝试重新运行补丁程序时,开始需要几分钟的时间,这比以前要慢很多。

当看起来最“繁忙”的时候,这是一个top输出:

顶级输出

但是大多数情况下,输出结果如下:

顶级输出

mysqladmin status说:

 Uptime: 805 Threads: 3 Questions: 894 Slow queries: 0 Opens: 1277 Flush tables: 1 Open tables: 98 Queries per second avg: 1.110 

所以,对我来说,服务器看起来几乎是空闲的,虽然它实际上正在运行一个大的SQL补丁,使我等待了很长时间…

任何想法可能会减慢它?

好的,我find了原因。 查询本身并不慢,但与MySQL服务器的连接是。 而且因为每个补丁都执行了一次mysql命令行,所以这个过程非常缓慢。

我将下面一行添加到my.cnf

 [mysqld] skip-name-resolve 

一切都恢复正常了!