(意外?)blkio 控制器行为

(意外?)blkio 控制器行为

我在 Ubuntu 12.04 上使用 docker 1.4.0 和 lxc-1.0.6 以及 cgroup-lite-1.1.5。我有 3 个硬盘 ( /dev/[sdb-sdd]),我从 3 个不同的容器向它们写入数据。它们只有一个 XFS 分区,分别挂载在 /mnt/vol[1-3] 中。我使用 docker 启动容器(使用 lxc exec-driver):

docker run --rm=true -v /mnt/vol1:/mnt -ti stackbrew/ubuntu:trusty /bin/bash

当我dd从三个并发容器中执行操作时:

dd if=/dev/zero of=/mnt/testfile bs=4M count=250 oflag=direct

我观察到,尽管设备各不相同(当然),但单元在它们之间的分配还是很公平的bps。如果我执行单个容器,我观察到 60 MB/s(这些是真的很旧的磁盘)。如果我执行两个容器,我观察到 30 MB/s,三个容器则为 20 MB/s。

我尝试过的调度程序、权重和节流阀单元似乎都没有什么效果。有什么想法吗?

相关内容