The superior performance of lightweight virtualization with containers over traditional virtualization enables the implementation of scalable systems and multi-tier/distributed networks. Containers supports the creation of dedicated network overlays, spanning over several virtual machines (VMs) or physical hosts to interconnect application fragments. Hence, there is a need to understand the comparative performance of various interconnection solutions in terms of needed resources (CPU, RAM, and networking). In this work, we use a variety of applications to benchmark the performance of different container interconnection solutions. Accordingly, we experimented with four applications namely Memcached, Nginx, PostgreSQL, and iperf3. Each of these applications was installed inside a container in one VM and their corresponding benchmarks (test client) in a separate container in another VM in order to benchmark the performance of the applications. The VMs were interconnected using four modes namely: host, NAT, Docker default overlay (VXLAN) and weave. The experimental results revealed superior performance in host mode, followed by NAT and the overlay networks (VXLAN and weave) which have the least performance due to packet encapsulation. In each case, sar was used to monitor the CPU utilization. We were able to reduce the overhead of the two overlay networks using RPS (Receive Packet Steering) technique because they brought solutions to some of the problems faced when connecting containers using host and NAT modes in the cloud.
Published in | Advances in Networks (Volume 10, Issue 2) |
DOI | 10.11648/j.net.20221002.11 |
Page(s) | 15-30 |
Creative Commons |
This is an Open Access article, distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution and reproduction in any medium or format, provided the original work is properly cited. |
Copyright |
Copyright © The Author(s), 2022. Published by Science Publishing Group |
Virtualization, Container, Virtual Machine, Network
[1] | Wikipedia contributors, (2019) “Virtualization.” [Online]. Available: https://en.wikipedia. org/wiki/Virtualization |
[2] | K. Suo, Y. Zhao, W. Chen, and J. Rao, “An analysis and empirical study of container networks,” in IEEE INFOCOM 2018-IEEE Conference on Computer Communications. IEEE, 2018, pp. 189–197. |
[3] | “Docker.” (2018) [Online]. Available: https://www.docker.com/ |
[4] | J. Turnbull, “The docker book,” 2016. |
[5] | P. Killelea, Web Performance Tuning: speeding up the web. ” O’Reilly Media, Inc.”, 2002. |
[6] | “Sparkyfish.” (2018) [Online]. Available: https://github.com/chrissnell/sparkyfish |
[7] | “Sockperf.” (2017) [Online]. Available: https://github.com/Mellanox/sockperf |
[8] | “iperf.” (2018) [Online]. Available: https://iperf.fr/ |
[9] | Wikipedia contributors, (2020) “Network address translation.” [Online]. Available: https://en.wikipedia.org/wiki/Network_address translation. |
[10] | M. G. Xavier, M. V. Neves, F. D. Rossi, T. C. Ferreto, T. Lange, and C. A. De Rose, “Performance evaluation of container-based virtualization for high performance computing environments,” in 2013 21st Euromicro International Conference on Parallel, Distributed, and Network-Based Processing. IEEE, 2013, pp. 233–240. |
[11] | K. Lee, Y. Kim, and C. Yoo, “The impact of container virtualization on network performance of iot devices,” Mobile Information Systems, vol. 2018, 2018. |
[12] | “Weaveworks.” (2019) [Online]. Available: https://www.weave.works/docs/net/latest/ overview/ |
[13] | “Flannel.” (2018) [Online]. Available: https://github.com/coreos/flannel/ |
[14] | “Calico.” (2018) [Online]. Available: https://github.com/projectcalico/calicoctl |
[15] | D. Zhuo, K. Zhang, Y. Zhu, H. H. Liu, M. Rockett, A. Krishnamurthy, and T. Anderson, “Slim:{OS} kernel support for a low-overhead container overlay network,” in 16th {USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 19), 2019, pp. 331–344. |
[16] | Wikipedia contributors, (2021) “Virtual extensible lan.” [Online]. Available: https://en.wikipedia.org/wiki/Virtual Extensible LAN. |
[17] | “Memcached.” (2018) [Online]. Available: https://memcached.org/ |
[18] | “memtier benchmark.” (2019) [Online]. Available: https://github.com/RedisLabs/memtier_benchmark |
[19] | “Nginx.” (2019) [Online]. Available: https://nginx.org/en/ |
[20] | “wrk.” (2019) [Online]. Available: https://github.com/giltene/wrk2 |
[21] | “Postgresql.” (2020) [Online]. Available: https://www.postgresql.org/ |
[22] | “pgbench.” (2020) [Online]. Available: https://www.postgresql.org/docs/9.5/pgbench.html |
[23] | H.-J. Schonig and Z. Boszormenyi, PostgreSQL Replication. Packt Publishing, 2015. |
[24] | “sar(1) - linux man page.” (2019) [Online]. Available: https://linux.die.net/man/1/sar |
APA Style
Yusuf Haruna, Abdulmalik Ahmad Lawan, Kamaluddeen Ibrahim Yarima, Muhammad Mahmoud Ahmad, Mustapha Abdulkadir Sani. (2022). Analysis of Docker Networking and Optimizing the Overhead of Docker Overlay Networks Using OS Kernel Support. Advances in Networks, 10(2), 15-30. https://doi.org/10.11648/j.net.20221002.11
ACS Style
Yusuf Haruna; Abdulmalik Ahmad Lawan; Kamaluddeen Ibrahim Yarima; Muhammad Mahmoud Ahmad; Mustapha Abdulkadir Sani. Analysis of Docker Networking and Optimizing the Overhead of Docker Overlay Networks Using OS Kernel Support. Adv. Netw. 2022, 10(2), 15-30. doi: 10.11648/j.net.20221002.11
AMA Style
Yusuf Haruna, Abdulmalik Ahmad Lawan, Kamaluddeen Ibrahim Yarima, Muhammad Mahmoud Ahmad, Mustapha Abdulkadir Sani. Analysis of Docker Networking and Optimizing the Overhead of Docker Overlay Networks Using OS Kernel Support. Adv Netw. 2022;10(2):15-30. doi: 10.11648/j.net.20221002.11
@article{10.11648/j.net.20221002.11, author = {Yusuf Haruna and Abdulmalik Ahmad Lawan and Kamaluddeen Ibrahim Yarima and Muhammad Mahmoud Ahmad and Mustapha Abdulkadir Sani}, title = {Analysis of Docker Networking and Optimizing the Overhead of Docker Overlay Networks Using OS Kernel Support}, journal = {Advances in Networks}, volume = {10}, number = {2}, pages = {15-30}, doi = {10.11648/j.net.20221002.11}, url = {https://doi.org/10.11648/j.net.20221002.11}, eprint = {https://article.sciencepublishinggroup.com/pdf/10.11648.j.net.20221002.11}, abstract = {The superior performance of lightweight virtualization with containers over traditional virtualization enables the implementation of scalable systems and multi-tier/distributed networks. Containers supports the creation of dedicated network overlays, spanning over several virtual machines (VMs) or physical hosts to interconnect application fragments. Hence, there is a need to understand the comparative performance of various interconnection solutions in terms of needed resources (CPU, RAM, and networking). In this work, we use a variety of applications to benchmark the performance of different container interconnection solutions. Accordingly, we experimented with four applications namely Memcached, Nginx, PostgreSQL, and iperf3. Each of these applications was installed inside a container in one VM and their corresponding benchmarks (test client) in a separate container in another VM in order to benchmark the performance of the applications. The VMs were interconnected using four modes namely: host, NAT, Docker default overlay (VXLAN) and weave. The experimental results revealed superior performance in host mode, followed by NAT and the overlay networks (VXLAN and weave) which have the least performance due to packet encapsulation. In each case, sar was used to monitor the CPU utilization. We were able to reduce the overhead of the two overlay networks using RPS (Receive Packet Steering) technique because they brought solutions to some of the problems faced when connecting containers using host and NAT modes in the cloud.}, year = {2022} }
TY - JOUR T1 - Analysis of Docker Networking and Optimizing the Overhead of Docker Overlay Networks Using OS Kernel Support AU - Yusuf Haruna AU - Abdulmalik Ahmad Lawan AU - Kamaluddeen Ibrahim Yarima AU - Muhammad Mahmoud Ahmad AU - Mustapha Abdulkadir Sani Y1 - 2022/10/17 PY - 2022 N1 - https://doi.org/10.11648/j.net.20221002.11 DO - 10.11648/j.net.20221002.11 T2 - Advances in Networks JF - Advances in Networks JO - Advances in Networks SP - 15 EP - 30 PB - Science Publishing Group SN - 2326-9782 UR - https://doi.org/10.11648/j.net.20221002.11 AB - The superior performance of lightweight virtualization with containers over traditional virtualization enables the implementation of scalable systems and multi-tier/distributed networks. Containers supports the creation of dedicated network overlays, spanning over several virtual machines (VMs) or physical hosts to interconnect application fragments. Hence, there is a need to understand the comparative performance of various interconnection solutions in terms of needed resources (CPU, RAM, and networking). In this work, we use a variety of applications to benchmark the performance of different container interconnection solutions. Accordingly, we experimented with four applications namely Memcached, Nginx, PostgreSQL, and iperf3. Each of these applications was installed inside a container in one VM and their corresponding benchmarks (test client) in a separate container in another VM in order to benchmark the performance of the applications. The VMs were interconnected using four modes namely: host, NAT, Docker default overlay (VXLAN) and weave. The experimental results revealed superior performance in host mode, followed by NAT and the overlay networks (VXLAN and weave) which have the least performance due to packet encapsulation. In each case, sar was used to monitor the CPU utilization. We were able to reduce the overhead of the two overlay networks using RPS (Receive Packet Steering) technique because they brought solutions to some of the problems faced when connecting containers using host and NAT modes in the cloud. VL - 10 IS - 2 ER -