0

我有一段时间遇到这个问题我不知道如何解决它。我有一个运行 PHP+Apache 和应用程序的 Docker 容器。MySQL 和 MongoDB 服务器与主机位于同一网络上。所以:

  • MySQL数据库服务器IP: 192.168.1.98
  • Mongo DB服务器IP: 192.168.1.98
  • 主机: 192.168.1.90

由于某种原因,运行在容器上的应用程序和数据库服务器之间的连接非常缓慢,有时运行长查询需要超过一分钟。

我可以说问题不在于数据库服务器,因为在同一台服务器上运行相同的应用程序运行速度很快,所以我认为这与网络有关,但我不确定是什么或为什么。

有人可以给我一些建议吗?

4

1 回答 1

0

您没有提供太多信息,但根据您所描述的

  1. 最简单的原因可能是通过网络传输的数据量很大。即使这些主机在同一个网络上,在网络上的一对机器上传输一个大文件所花费的时间也会比从同一个主机复制它要慢得多。

  2. 由于您似乎在同一主机上同时运行 MongoDB 和 MySQL DB,因此它们可能很容易干扰彼此的执行。虽然容器在操作系统级别提供了它们之间的隔离,但硬件并不识别容器。当两个容器都尝试使用磁盘时,性能会下降。

我个人在不同的时间遇到​​了这两个问题,虽然它们看起来很简单,但它们会对性能产生重大影响。如果你能提供一些额外的信息来帮助更好地理解你的问题,那就太好了。

于 2017-01-10T18:45:12.690 回答