6

我正在尝试使用在基于 fedora:23 映像的容器中运行的 Phoronix 测试套件 6.4.0 Milestone 2 对运行 Docker 的整体系统性能进行基准测试。

必须考虑的一件事是,Docker 使用专有的 UnionFS 来存储数据。但是,当在 Docker 中运行真实世界的应用程序(如 Apache)时,持久性数据通常存储在主机上的专用文件夹中,在标准 Linux 文件系统(如 ext4 或在我的情况下为 btrfs)上运行。

我提出的解决方案是使用“ docker volume ”将主机目录挂载到docker中。问题是我不知道要在基准测试中使用哪些目录并且必须安装在 Docker 容器中。

例如,测试套件pts/disk绝对应该使用 docker 卷而不是 UnionFS。它包含这些测试。

pts/compress-gzip
pts/sqlite
pts/apache
pts/pgbench
pts/compilebench
pts/iozone
pts/dbench
pts/fs-mark
pts/fio
pts/tiobench
pts/postmark
pts/aio-stress
pts/unpack-linux

应该从主机挂载 Docker 容器中的哪些目录(制作 docker 卷)?使用 docker 卷甚至是一个好主意吗?在对 Docker 进行基准测试时,还有其他需要考虑的注意事项吗?

4

1 回答 1

0

如“将共享存储卷挂载为数据卷”中所述

除了在容器中挂载主机目录之外,一些Docker 卷插件还允许您配置和挂载共享存储,例如 iSCSI、NFS 或 FC。

从 docker 1.9 开始,这是完成的docker volume create(然后你将这些卷安装在容器中的预期路径中)

这使您可以:

应该从主机挂载 Docker 容器中的哪些目录

包含持久数据和/或具有大量 IO 操作的任何文件夹。

于 2016-05-12T08:02:27.873 回答