MySQL虚拟化服务器上​​的性能要慢得多

时间:2018-03-26 16:06:49

标签: mysql ubuntu vsphere esxi

我正在虚拟化和更新运行内部开发的报告系统(Apache,MySQL,PHP)的旧Linux服务器。

旧的物理服务器运行64位Ubuntu 10.04.3 LTS,MySQL 5.1.41和PHP 5.3。该服务器配备Intel Xeon CPU X3460 @ 2.80GHz(4核),4GB RAM。

我们在HP DL380G6上运行ESXI 5.5,配备2 x Intel Xeon X5650 6 Core 2.66ghz和32GB RAM。

我创建了一个具有4核和4GB RAM的新VM,并且干净地安装了64位Ubuntu 16.04.4 LTS,MySQL 5.7.21和PHP 7.0,迁移了我们的应用程序,一切运行得慢得多。我相信这是MySQL,因为在旧物理服务器和新虚拟服务器上进行相同的直接查询时,查询可能需要8秒(VM)而不是1(物理)。这些表都有适当的索引,在每台服务器上运行“EXPLAIN”提供相同的结果,但其中一个速度要慢得多。当页面运行大量复杂查询时,可能需要一分钟+加载而不是几秒钟。

知道为什么会这样吗?相同的数据集,相同的查询,相同的引擎(MyISAM)。 VM拥有更新版本的所有内容,相同数量的内核和相同的RAM。我甚至尝试将VM CPU加倍到2个插槽,4个内核和8GB RAM,但它似乎没有产生实质性的影响。

我已经比较了MySQL的配置,并且没有任何东西在我身上突然发挥作用。

我在这里可能会缺少什么?它是虚拟主机硬件吗?

1 个答案:

答案 0 :(得分:0)

您是否升级了vmware工具?如果不这样做。 然后,在此ESXi主机上,您是否有其他VM?如果是,我建议您创建资源池,然后配置资源限制。 在资源池中,您分配的资源量将以为VM保留的方式进行,因此您不必与其他VM共享。