php - 服务器之间的慢查询
问题描述
大家早上好,我想问一下我遇到的一个我无法解决的问题。
我有两台服务器,一台是 Web 服务器(它包含一个大型 Web 应用程序),另一台是 BD 服务器。
问题是两者都在使用 VMWare 的物理服务器中进行了虚拟化,并且直到两周前它们都可以正常运行。在本月初,我们注意到 Web 应用程序运行速度非常慢,我们开始调查问题所在。我们已经尝试了很多事情,但我们不知道问题是什么,当然也不知道如何解决它。
两台服务器都有一个内部 IP,只有 Web 服务器可以从 Internet 访问。只有web服务器访问BD服务器才能得到查询结果。确实,Web 服务器和 BD 服务器分别具有旧版本的 PHP 和 MySQL。
我们做了以下测试:
分析两台服务器的消耗。它们占内存、交换和所有类型的消耗的 1%。我们的物理服务器是一年前的新服务器,两个虚拟服务器使用的资源都不超过 5%。
- 重启两台服务器
- 重启物理服务器(VMWare 服务器)
- 恢复两台服务器 1 个月和 2 个月前的备份以丢弃代码和 BD 数据错误
- 审查代码(我们不接触错误之前的代码)
- 我们从终端的网络服务器进行了一些查询,它们很快。我们查找了 BD 日志,我们可以看到查询一直以“缓慢”的速度(查询 aprox 为 0.5 秒,取决于查询可能超过一秒)一个接一个地进行。
我们怀疑 PHP 做错了什么,但我们不接触代码,也不更新 PHP 版本或 MySQL 版本。我们想尝试在新的虚拟机中更新 MySQL 版本并将所有数据迁移到那里,但我们认为这不会解决问题。
服务器之间的连接是完美的,我们认为第 2 层应该不是问题。在同一个网络服务器中,我们还有另一个网络应用程序(Moodle)也连接到这个 BD 服务器,它没有这个问题......
可能是什么问题?Web 应用程序的这种行为变化非常奇怪。我们八月份在放假,我们回来了,我们发现了这个问题。
有关更多信息,我们使用 PHP 5.6.40(网络服务器)和 MySQL Ver 14.14 Distrib 5.1.60,readline 5.1(BD 服务器)。(是的,我们知道它们是旧版本,但 Web 应用程序和 BD 也很旧)
我希望有人可以帮助我们,我们有点失落。
谢谢你的帮助!
解决方案
我会尝试更新您的服务器,此类问题通常是由旧软件引起的。我还会开始记录或查看负载,以便您确定是什么原因导致您的速度变慢。
推荐阅读
- java - Tomcat 9 Valve 导致服务器启动失败
- c - 如何在 C 中执行 DLL 中的线程
- javascript - 向对象数组添加数据时如何防止重复键?
- php - 从文件获取内容获取json字符串时获取对象字符串(php)
- c# - 让应用程序以不同于 Windows 服务的用户身份运行
- python-3.x - 如何在 Databricks 中安装 PYODBC
- jenkins - 如何在轻量级执行器上运行管道时将重量级帖子与 Jenkins 声明性管道一起使用
- python - Cython for pypi 包结构
- vb.net - 如何通过两个不同的拆分选项提取字符串?
- java - 为什么在我的代码中使用 Apache POI 后结果会立即发生变化?