Performance Evaluation of Container’s Shared Volumes
Naylor Garcia Bachiega, Paulo Sérgio Lopes de Souza, Sarita Mazzini Bruschi, Simone R. S. Souza · 2020
Performance is one example of the Extra-Functional Properties (EFPs), an essential part of software development with limited resources. In such a context of software development, containers represent a widely used abstraction technology that requires fewer resources, when compared to hypervisor-based virtualization. Containers provide access to environments and speed up development by abstracting the underlying infrastructure layer for different application domains. Volume sharing is a usual abstraction provided by containers for data persistence, which can be accomplished, especially with Network File System (NFS) or Docker's sharing method. Evaluate the performance of these volumes in containers is critical to software development; however, we did not find available in the literature such evaluation. This paper describes the volume sharing performance for containers using NFS and Docker, which is essential for data persistence. We evaluated the performance of these shared volumes by simulating three application domains: database accesses from a benchmark, direct reads and writes in the file systems and concurrent accesses from an MPI parallel program. Our results show significant differences among the distinct volume sharing methods analyzed for Docker and NFS. While asynchronous NFS has better performances for the set composed of heavy workloads, bursting read and write sequences, the Docker volumes, by the other hand, outperformed for processes with concurrent accesses when using a parallel program.