bps 是 byte per second,每秒读写的数据量。
iops 是 io per second,每秒 IO 的次数。
可通过以下参数控制容器的 bps 和 iops:
- –device-read-bps,限制读某个设备的 bps。
- –device-write-bps,限制写某个设备的 bps。
- –device-read-iops,限制读某个设备的 iops。
- –device-write-iops,限制写某个设备的 iops。
下面的示例是限制容器写 /dev/sda 的速率为 5 MB/s。
[root@localhost stress]# docker run -it --device-write-bps /dev/sda:5MB centos:stress
[root@ff6d27bd15fe /]# dd if=/dev/zero of=test bs=1M count=1024 oflag=direct
59+0 records in
59+0 records out
61865984 bytes (62 MB) copied, 11.8013 s, 5.2 MB/s
通过 dd 命令测试在容器中写磁盘的速度。因为容器的文件系统是在 host /dev/sda 上 的,在容器中写文件相当于对 host /dev/sda 进行写操作。另外,oflag=direct 指定用 direct IO 方式写文件,这样 --device-write-bps 才能生效。
结果表明限速 5MB/s 左右。作为对比测试,如果不限速,结果如下。
[root@localhost stress]# docker run -it centos:stress
[root@8de026f26c60 /]# dd if=/dev/zero of=test bs=1M count=1024 oflag=direct
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 1.28213 s, 837 MB/s
文章目录 1.Cgroup资源配置方法2.构建stress镜像3.使用stress工具测试CPU和内存4.CPU周期限制5.CPU Core控制6.CPU 配额控制参数的混合使用7.内存限额8.Block IO的限制9.bps和iops的限制 1.Cgroup资源配...