大家下午好,我想问一下我遇到的一个无法解决的问题。
我有两台服务器,一台是 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 也很旧)
我希望有人能帮助我们,我们有点迷茫。
感谢您的帮助!