《測試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