This paper presents the Container Profiler, a software tool that measures and records the resource usage of any containerized task. Our tool profiles the CPU, memory, disk, and network utilization of containerized tasks collecting over fifty Linux operating system metrics at the virtual machine, container, and process levels. The Container Profiler supports performing time series profiling at a configurable sampling interval to enable continuous monitoring of the resources consumed by containerized tasks and pipelines. To investigate the utility of the Container Profiler, we profile the resource utilization requirements of a multi-stage bioinformatics analytical pipeline (RNA sequencing using unique molecular identifiers). We examine profiling metrics to assess patterns of CPU, disk, and network resource utilization across the different stages of the pipeline. We also quantify the profiling overhead of our Container Profiler tool to assess the impact of profiling a running pipeline with different levels of profiling granularity verifying that impacts are negligible. The Container Profiler provides a useful tool that can be used to continuously monitor the resource consumption of long and complex containerized applications that run locally or on the cloud. This can help identify bottlenecks where more resources are needed to improve performance.
翻译:本文介绍了容器分析器(Container Profiler),这是一种用于测量和记录任何容器化任务资源使用情况的软件工具。该工具在虚拟机、容器和进程级别收集超过五十项Linux操作系统指标,对容器化任务的CPU、内存、磁盘和网络利用率进行分析。容器分析器支持以可配置的采样间隔执行时间序列分析,从而实现对容器化任务和管道所消耗资源的持续监控。为探究容器分析器的实用性,我们对一个多阶段生物信息学分析管道(使用唯一分子标识符进行RNA测序)的资源利用需求进行剖析。通过分析不同管道阶段的CPU、磁盘和网络资源利用模式,我们评估了相关分析指标。同时,我们量化了容器分析器的分析开销,以评估在不同分析粒度下对运行中管道的分析影响,验证其影响可忽略不计。容器分析器提供了一种实用工具,可用于持续监控本地或云端运行的复杂长时容器化应用的资源消耗,从而帮助识别需要更多资源以提升性能的瓶颈环节。