【问题标题】:Much slower MySQL performance on virtualized server虚拟化服务器上​​的 MySQL 性能要慢得多
【发布时间】:2018-09-04 20:39:14
【问题描述】:

我正在对运行内部开发的报告系统(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 个 Intel Xeon X5650 6 核 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 配置,但没有什么让我感到非常不同。

我可能在这里遗漏了什么?是虚拟主机硬件吗?

【问题讨论】:

  • "我相信是 MySQL" 你是否正确配置了 MySQL?
  • 是的,我相信是的。就像我说的,我比较了配置文件,两者之间似乎没有什么不寻常的地方。不过,它们是不同版本的 Ubuntu 和 MySQL,所以我想我总有可能在较新的版本中遗漏一些东西。

标签: mysql ubuntu vsphere esxi


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-20
    • 1970-01-01
    • 2013-09-27
    • 2023-03-10
    • 1970-01-01
    • 2010-10-18
    • 1970-01-01
    相关资源
    最近更新 更多