Tag: mqtt paho

具有主机networking的Docker容器的networking性能非常低

我遇到了Docker容器和主机networking之间的networking性能不佳的问题。 我在Docker的论坛上问了这个问题,但到目前为止还没有收到答案。 问题 设置:同一本地networking上的两台Mac; 第一个运行MQTT经纪人(mosquitto); 第二个运行Mac的Docker。 两台C ++程序在第二台Mac上运行,并使用Paho MQTT C库通过MQTT代理(第一台Mac)多次交换数据。 本机运行:当我本机运行两个C ++程序时,networking性能非常好,如预期的那样。 这些程序是用XCode 7.3编译的。 Docker运行:当我在Docker中运行任一C ++程序或两者时,networking性能急剧下降,大约比本机运行慢30倍。 Docker镜像基于ubuntu:latest,程序由gcc(Ubuntu 5.4.0-6ubuntu1〜16.04.1)5.4.0 20160609构build。 我试图使用主机networking( – 在Docker运行–network =“主机”),但没有帮助。 我也尝试在第二台Mac上运行MQTT代理(以便代理和容器在同一台主机上运行); 问题依然存在。 我的工作局域网和家庭networking上都存在这个问题。 从理论上讲,Docker容器中的C ++程序一般来说可能会很慢。 但是我怀疑是这样的,因为根据我的经验,Docker中C ++代码的一般性能和本地环境一样快。 题 造成这个问题的原因是什么? 在Docker中有没有可以解决这个问题的设置?