测试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网络的可选方案:
对于多主机网络搭建,只有“overlay”(以及插件实现)可用.我使用“direct”,“host”和“bridge”作为参考以及比对,来衡量overlay实现的额外消耗. 我观察到的结果如下: 观察
结论如果你需要使用Docker“overlay”网络——如果想要部署多主机环境,或者使用Docker Swarm Mode,这是必须的——我推荐考虑使用Calico的Docker网络插件.原生的Docker“overlay”网络可以用来做原型设计或者快速测试,但是目前其在高端硬件上的性能有问题. 崔婧雯?译 文章出处:Docker (编辑:ASP站长网) |