服务器之间的查询很慢

服务器之间的查询很慢

大家下午好,我想问一下我遇到的一个无法解决的问题。

我有两台服务器,一台是 Web 服务器(它包含一个大型 Web 应用程序),另一台是 BD 服务器。

问题是,这两个应用程序都是在 VMWare 的物理服务器上虚拟化的,直到两周前,它们都运行正常。本月初,我们注意到 Web 应用程序运行非常慢,我们开始调查问题所在。我们尝试了很多方法,但不知道问题是什么,当然,也不知道如何解决。

两台服务器都有一个内部 IP,只有 Web 服务器可以从 Internet 访问。只有 Web 服务器才能访问 BD 服务器以获取查询结果。确实,Web 服务器和 BD 服务器分别有较旧版本的 PHP 和 MySQL。

我们做了以下测试:

  • 分析两台服务器的消耗情况。内存、交换和所有类型的消耗都在 1% 以内。我们的物理服务器是一年前新买的,两台虚拟服务器使用的资源都不超过 5%。
  • 重新启动两台服务器
  • 重启物理服务器(VMWare 服务器)
  • 恢复两个服务器 1 个月和 2 个月前的备份,以丢弃代码和 BD 数据错误
  • 审查代码(我们不会触碰错误之前的代码)

我们从终端的网络服务器进行了一些查询,速度很快。我们查看了 BD 日志,发现查询一直以“缓慢”的速度逐一进行(查询大约需要 0.5 秒,根据查询的不同,可能需要超过一秒)。

我们怀疑 PHP 做了一些坏事,但我们没有触碰代码,也没有更新 PHP 版本或 MySQL 版本。我们想尝试在新的虚拟机中更新 MySQL 版本并将所有数据迁移到那里,但我们认为这不会解决问题。

服务器之间的连接非常完美,我们认为第 2 层不应该是问题所在。在同一个 Web 服务器中,我们有另一个 Web 应用程序 (Moodle) 也连接到此 BD 服务器,但它没有这个问题……

问题可能出在哪里?Web 应用程序的行为变化非常奇怪。我们 8 月份休假,回来后发现了这个问题。

有关更多信息,我们使用 PHP 5.6.40(Web 服务器)和 MySQL Ver 14.14 Distrib 5.1.60、readline 5.1(BD 服务器)。(是的,我们知道它们是旧版本,但 Web 应用程序和 BD 也很旧)

我希望有人能帮助我们,我们有点迷茫。

感谢您的帮助!

相关内容