【问题标题】:It's possible to add an interface to a Docker container for speed up connectivity?是否可以向 Docker 容器添加接口以加快连接速度?
【发布时间】:2017-01-11 02:45:12
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: docker docker-networking


    【解决方案1】:

    您提供的信息不多,但根据您所描述的情况

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

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

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

    【讨论】:

    • 附加信息,例如 .... ?你需要什么?我正在尝试稍微改进时间,不知道为什么或如何,但我可以看到一切工作得更快
    • 第一步,尝试将 mongo db 和 mysql 移动到不同的机器上。尝试给出查询在不同机器上执行所需时间的具体数字。之后尝试在客户端容器上运行 wireshark。 (查看 medium.com/@chughtapan/… )将容器 ID 更改为您的客户端容器并在主机上执行此代码。运行查询,然后测量客户端和数据库之间传输的流量。一旦我们有了这些数字,我们就可以更好地了解如何改进
    猜你喜欢
    • 2016-04-19
    • 2018-07-29
    • 2018-11-25
    • 1970-01-01
    • 1970-01-01
    • 2016-11-17
    • 2012-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多