《测试Docker多主机网络性能》要点:
本文介绍了测试Docker多主机网络性能,希望对您有用。如果有疑问,可以联系我们。
在过去的博文里,我测试过Docker的网络.MySQL服务器团队(http://mysqlserverteam.com/mysql-with-docker-performance-characteristics/)提供了他们自己的结果,和我的观察是一致的.
本文里一系列的测试,想更多关注使用多主机的Docker网络.因为当我们搭建高可用(HA)环境(比如,使用Percona XtraDB Cluster)时,就会期望实例运行在不同的主机上.
本文测试的另一个原因是Docker最近发布了1.12版本,支持Swarm Mode.Swarm Mode本身很有意思——在这个版本里,Docker决定在编排部署领域更深入,从而和Kubernetes以及Apache Mesos竞争.我认为Swarm Mode还很粗糙(毕竟是第一个版本),但是我确信Docker会在接下来的几个版本里继续优化这个特性.
Swarm Mode还假定用户在不同的物理主机上运行服务,并且服务通过Docker的网络通信.我想了解在多主机上使用Docker网络时性能如何.
网络性能对于像Percona XtraDB Cluster 和MySQL Group Replication(刚刚发布了另一个Lab版本)这样的集群来说尤为重要.
在我的环境里,使用了两台物理服务器,之间通过10GB网络连接.这两台服务器各有56个核的Intel CPU.
Sysbench环境:数据在内存里,仅仅使用主键查找.网络测试中网络往返很严重,但是能够更清楚得看到对性能的影响.
如下是Docker网络的可选方案:
2. Weave network
https://github.com/weaveworks/weave
对于多主机网络搭建,只有“overlay”(以及插件实现)可用.我使用“direct”,“host”和“bridge”作为参考以及比对,来衡量overlay实现的额外消耗.
我观察到的结果如下:
如果你需要使用Docker“overlay”网络——如果想要部署多主机环境,或者使用Docker Swarm Mode,这是必须的——我推荐考虑使用Calico的Docker网络插件.原生的Docker“overlay”网络可以用来做原型设计或者快速测试,但是目前其在高端硬件上的性能有问题.
崔婧雯 译
文章出处:Docker
转载请注明本页网址:
http://www.vephp.com/jiaocheng/4446.html