Abstract
Network functions virtualization (NFV) is an important approach in the telecommunications industry. One of the main features of NFV is the execution of network functions in software rather than using specific hardware. These functions can run on virtualization platforms, which can increase service elasticity and reduce infrastructure costs. However, virtualization imposes performance penalties, which can severely impact NFV services. In this work, we analyze this performance impact when the virtualized network function is an HTTP proxy. We then compare two virtualization solutions, i.e., KVM and Docker, under different configurations. Our results show that Docker containers yield performance close to that of native Linux for HTTP proxies since Docker does not employ a hypervisor. We show that KVM incurs a severe performance penalty, which a paravirtualization approach can reduce. We also evaluate how much load balancing in Docker can improve the performance of virtual proxies. We show that, for our scenario, two parallel proxies significantly improve performance. However, we observe a negative impact when increasing the number of proxies since they interfere with each other.
Similar content being viewed by others
References
Apache (2020) Jmeter 3.1. http://jmeter.apache.org
Babu A, Hareesh MJ, Martin JP, Cherian S, Sastri Y (2014) System performance evaluation of para virtualization, container virtualization and full virtualization using Xen, OpenVZ and XenServer. In: International conference on advances in computing and communications, pp 247–250
Bachiega NG, Souza PSL, Bruschi SM, de Souza SRS (2018) Container-based performance evaluation: A survey and challenges. In: IEEE International conference on cloud engineering, pp 398–403
Barham P, Dragovic B, Fraser K, Hand S, Harris T, Ho A, Neugebauer R, Pratt I, Warfield A (2003) Xen and the art of virtualization. In: ACM symposium on operating systems principles (SOSP), pp 164–177
Bondan L, dos Santos CRP, Granville LZ (2016) Comparing virtualization solutions for NFV deployment: A network management perspective. In: IEEE Symposium on computers and communication (ISCC), pp 669–674
Bui T (2015) Analysis of Docker security. Tech. rep., Aalto University School of Science, Finland. http://arxiv.org/abs/1501.02967
Chang HC, Qiu BJ, Chen JC, Tan TJ, Ho PF, Chiu CH, Lin BSP (2018) Empirical experience and experimental evaluation of Open5GCore over hypervisor and container. Wirel Commun Mob Comput 2018
Citrix (2020) Citrix hypervisor. https://www.citrix.com/products/citrix-hypervisor/
Combe T, Martin A, Pietro RD (2016) To Docker or not to Docker: A security perspective. IEEE Cloud Comput 3(5):54–62
Couto RS, Campista MEM, Costa LHMK (2014) Network resource control for Xen-based virtualized software routers. Comput Netw 64:71–88
Docker (2020) CoreOS: Open source projects for Linux containers. https://coreos.com
Docker (2020) Docker - build, ship and run any app anywhere. https://www.docker.com
Dua R, Raja AR, Kakadia D (2014) Virtualization vs containerization to support PaaS. In: IEEE international conference on cloud engineering (IC2E), pp 610–614
Eiras RSV, Couto RS, Rubinstein MG (2016) Performance evaluation of a virtualized HTTP proxy using KVM and Docker. In: International conference on the network of the future (NoF), pp 1–5
ETSI N (2013) Network functions virtualisation (NFV) architectural framework. ETSI GS NFV 2(2):V1
Felter W, Ferreira A, Rajamony R, Rubio J (2015) An updated performance comparison of virtual machines and Linux containers. Tech. rep., IBM. IBM Research Report - RC25482 (AUS1407-001)
Fernandes NC, Moreira MDD, Moraes IM, Ferraz LHG, Couto RS, Carvalho HET, Campista MEM, Costa LHMK, Duarte OCMB (2011) Virtual networks: Isolation, performance, and trends. Ann Telecommun 66(5-6):339–355
Heideker A, Kamienski C (2017) Managing elasticity in an NFV-based IaaS environment. In: Workshop of IEEE latin-american conference on communications
Kim HC, Lee D, Chon K, Jang B, Kwon T, Choi Y (2010) Performance impact of large file transfer on web proxy caching: A case study in a high bandwidth campus network environment. J Commun Netw 52:52–66
Kivity A, Laor D, Costa G, Enberg P, Har’El N, Marti D, Zolotarov V (2014) OSv — optimizing the operating system for virtual machines. In: USENIX annual technical conference (ATC), pp 61–72
Kubernetes (2020) Kubernetes. https://kubernetes.io
KVM (2020) Kernel-based virtual machine.https://www.linux-kvm.org/page/Main_Page
Martins J, Ahmed M, Raiciu C, Olteanu V, Honda M (2014) ClickOS and the art of network function virtualization. In: USENIX symposium on networked systems design and implementation (NSDI), pp 459–473
Microsoft (2017) Microsoft Hyper-V. https://msdn.microsoft.com/pt-br/library/hh831531(v=ws.11).aspx
Mijumbi R, Serrat J, Gorricho JL, Bouten N, Turck FD, Boutaba R (2016) Network function virtualization: State-of-the-art and research challenges. IEEE Commun Surv Tutor 18(1):236–262
Nakajima Y, Masutani H, Takahashi H (2015) High-performance vNIC framework for hypervisor-based NFV with userspace vswitch. In: Fourth european workshop on software defined networks, pp 43–48
Oracle (2020) Virtualbox. https://www.virtualbox.org
Rasmusson L, Corcoran D (2014) Performance overhead of KVM on Linux 3.9 on ARM cortex-a15. ACM SIGBED Rev 11(2):32–38
Shantharama P, Thyagaturu AS, Reisslein M (2020) Hardware-accelerated platforms and infrastructures for network functions: A survey of enabling technologies and research studies. IEEE Access 8:132021–132085
Squid (2020) Squid proxy. http://www.squid-cache.org/Intro
VirtIO (2020) Virtio - paravirtualized drivers for KVM/Linux. http://www.linux-kvm.org/page/Virtio
VMware (2020) Vmware - official site. https://www.vmware.com/
Yang J, Lan Y (2015) A performance evaluation model for virtual servers in KVM-based virtualized system. In: IEEE international conference on smart city/socialcom/sustaincom (SmartCity), pp 66–71
Funding
This study was financed in part by the Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - Brasil (CAPES) - Finance Code 001. It was also supported by CNPq, FAPERJ, and FAPESP Grant 15/24494-8.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
This work is based on our paper published in Portuguese in the Proceedings of the XXXVI Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos (SBRC) available at https://sol.sbc.org.br/index.php/sbrc/article/view/2402/2366.
Rights and permissions
About this article
Cite this article
Eiras, R.S.V., Couto, R.S. & Rubinstein, M.G. Performance evaluation of an HTTP proxy implemented as a virtual network function. Ann. Telecommun. 77, 611–619 (2022). https://doi.org/10.1007/s12243-021-00886-4
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12243-021-00886-4