Tru*_*ong 6 macos networking mqtt docker paho
我在Docker容器和主机网络之间的网络性能缓慢方面遇到问题。我在Docker的论坛上问了这个问题,但到目前为止还没有收到答案。
设置:同一本地网络上的两台Mac;第一个运行MQTT代理(mosquitto);第二个运行Docker for Mac。两个C ++程序在第二台Mac上运行,并使用Paho MQTT C库通过MQTT代理(在第一台Mac上)多次交换数据。
本机运行:当我本机运行两个C ++程序时,网络性能达到了预期的出色。该程序是使用XCode 7.3构建的。
Docker运行:当我在Docker中运行一个或两个C ++程序时,网络性能急剧下降,大约比本机运行慢30倍。Docker镜像基于ubuntu:latest,程序由gcc(Ubuntu 5.4.0-6ubuntu1〜16.04.1)5.4.0 20160609构建。
我尝试使用主机网络(在Docker运行中使用--network =“ host”),但没有帮助。我还尝试在第二台Mac上运行MQTT代理(以便该代理和容器在同一主机上运行)。问题仍然存在。我的工作局域网和家庭网络都存在该问题。
从理论上讲,可能是Docker容器中的C ++程序通常运行缓慢。但是我怀疑是这种情况,因为根据我的经验,Docker中C ++代码的一般性能与在本机环境中一样快。
可能是这个问题的原因?Docker中是否有任何设置可以解决此问题?
我怀疑容器的默认内存和 CPU 分配可能不是您想要实现的网络性能的最佳选择。
$ docker stats node1 node2
CONTAINER CPU % MEM USAGE/LIMIT MEM % NET I/O
node1 0.07% 796 KB/64 MB 1.21% 788 B/648 B
node2 0.07% 2.746 MB/64 MB 4.29% 1.266 KB/648 B
然后您可能想要修改 docker run 可用的各种资源分配参数。

--mtu=BYTES设置 docker 值的 MTU 以匹配系统接口的 MTU 值| 归档时间: |
|
| 查看次数: |
8703 次 |
| 最近记录: |