[root@localhost ~]# docker run -it --device-write-bps /dev/sda:30MB centos /bin/bash
使用dd命令测试,发现写入速率为29.9MB/s
1 2 3 4 5 6 7 8 9
[root@34b03090013e /]# time dd if=dev/zero of=test.out bs=1M count=800 oflag=direct 测试硬盘性能,读取1M的数据,读取800次 800+0 records in 800+0 records out 838860800 bytes (839 MB) copied, 28.0896 s, 29.9 MB/s real 0m28.217s user 0m0.006s sys 0m1.566s
启动一个没有限制磁盘写入的容器,进行相同的测试,写入速率为1.2GB/s,这是正常的写入速率
1 2 3 4 5 6 7 8 9
[root@localhost ~]# docker run -it centos /bin/bash [root@54e235363474 /]# time dd if=dev/zero of=test.out bs=1M count=800 oflag=direct 800+0 records in 800+0 records out 838860800 bytes (839 MB) copied, 0.715951 s, 1.2 GB/s real 0m0.718s user 0m0.000s sys 0m0.633s
控制二
创建并允许一个容器,使它对硬盘的每秒读写速度不超过100MB
1 2 3 4 5 6 7 8 9
[root@localhost ~]# docker run -it --device-read-bps /dev/sda:100MB --device-write-bps /dev/sda:100MB centos /bin/bash [root@5e5f92eb145e /]# time dd if=/dev/zero of=test.out bs=1M count=800 oflag=direct 800+0 records in 800+0 records out 838860800 bytes (839 MB) copied, 7.9597 s, 105 MB/s real 0m7.963s user 0m0.005s sys 0m1.966s