Volume 3 , Issue 1 , PP: 8-17, 2021 | Cite this article as | XML | Html | PDF | Full Length Article
Amer Ramadan 1 *
Doi: https://doi.org/10.54216/JISIoT.030101
This paper reports on an in-depth examination of the impact of the backing filesystems to Docker performance in the context of Linux container-based virtualization. The experimental design was a 3x3x4 arrangement, i.e., we considered three different numbers of Docker containers, three filesystems (Ext4, XFS and Btrfs), and four application workloads related to Web server I/O activity, e-mail server I/O activity, file server I/O activity and random file access I/O activity, respectively. The experimental results indicate that Ext4 is the most optimal filesystem, among the considered filesystems, for the considered experimental settings. In addition, the XFS filesystem is not suitable for workloads that are dominated by synchronous random write components (e.g., characteristical for mail workload), while the Btrfs filesystem is not suitable for workloads dominated by random write and sequential write components (e.g., file server workload).
docker, storage, filesystem, virtualization, containers, Linux
[1] Docker documentation. https://docs.docker.com/. Accessed: 2016-02-25.
[2] T. Deshane, Z. Shepherd, J. Matthews, M. BenYehuda, A. Shah, B. Rao: Quantitative Comparison of Xen and KVM. 2008 Xen Summit, Berkeley, CA, USA, USENIX Association, 2008.
[3] B. Đorđević, N. Maček, V. Timčenko: Performance Issues in Cloud Computing: KVM Hypervisor’s Cache Modes Evaluation. Acta Polytechnica Hungarica 12, 4 (2015), pp. 147-165.
[4] Tom Collins: Hyper-V vs. VMware: Which Is Best?, https://www.atlantech.net/blog/hyper-v-vs.-vmware-which-is-best
[5] D. Armstrong, K. Djemame: Performance Issues in Clouds: An Evaluation of Virtual Image Propagation and I/O Paravirtualization. The Computer Journal 54, 6, (2011), pp. 836-849.
[6] J. Bacik. 2012. Btrfs: The Swiss Army Knife of Storage. Usenix Login 37, 1, (2012), 7-15.
[7] J. Che, Q. He, Q. Gao, D. Huang: Measuring and Comparing of Virtual Machine Monitors. In Proceedings of the 5th International Conference Embedded and Ubiquitous Computing. EUC2008, Vol. 2, Piscataway, NJ, USA, 2008, pp. 381–386.
[8] D. Comer: Ubiquitous B-tree. ACM Computing Surveys (CSUR) 3, 4 (2008), 2. 1979.
[9] T. Cormen, C. Leiserson, R. Rivest, C. Stein: Introduction to Algorithms (2nd. ed.). MIT Press and McGraw-Hill, Chapter 18: B-Trees, 2001.
[10] T. V. Do: Comparison of Allocation Schemes for Virtual Machines in Energy-Aware Server Farms. The Computer Journal 54, 11, (2011), pp. 1790-1797.
[11] B. Đorđević, N. Maček, V. Timčenko: Performance Issues in Cloud Computing: KVM Hypervisor’s Cache Modes Evaluation. Acta Polytechnica Hungarica 12, 4 (2015), pp. 147-165.
[12] Filebench, SourceForge, https://sourceforge.net/projects/filebench/.
[13] S. Kumpf: Docker storage drivers overview, 2017, https://community.hortonworks.com/articles/87949/docker-storage-drivers-overview.html
[14] C. Kuehl: Docker storage driver benchmarks, 2017, https://github.com/chriskuehl/docker-storage-benchmark
[15] Q. Xu, M. Awasthi, K. T. Malladi, J. Bhimani, J. Yang, M. Annavaram: Performance Analysis of Containerized Applications on Local and Remote Storage, 2017. http://storageconference.us/2017/Presentations/PerformanceAnalysisOfContainerizedApplications-slides.pdf
[16] IBM Coorporation. 2012. Kernel Virtual Machines (KVM): Best practices for KVM (second edition).
[17] Docker and overlayfs in practice. Docker Inc. 2018. https://docs.docker.com/engine/userguide/storagedriver/overlayfs-driver/
[18] Use the BTRFS storage driver. Docker Inc. 2019, https://docs.docker.com/storage/storagedriver/btrfs-driver/
[19] K.V. Kumar, A. M. Cao, J.R. Santos, A. Dilger: Ext4 block and inode allocator improvements. In Linux Symposium, 1, 2008.
[20] A. Mathur, M. Cao, S. Bhattacharya, A. Dilger, A. Dilger, and L. Vivier: The new Ext4 filesystem: current status and future plans. In Proceedings of the Linux Symposium, l, 2, 2007, pp. 21-33.
[21] M. Holton, and R. Das: XFS: a next generation journalled 64-Bit filesystem with guaranteed rate I. SGI Corp. 1995.
[22] Silicon Graphics Inc. 2006. XFS Filesystem Structure, Documentation of the XFS filesystem on-disk structures.
[23] O. Rodeh: Deferred Reference Counters for Copy-On-Write B-trees. Technical Report rj10464, IBM Corporation, 2010.
[24] O. Rodeh: B-trees, shadowing, and clones. ACM Transactions on Storage (TOS) 3, 4 (2008), 2.
[25] O. Rodeh, J. Bacik, and C. Mason. 2013. BTRFS: The Linux B-tree filesystem. ACM Transactions on Storage (TOS) 9, 3 (2013), 9.