这篇文章主要介绍“码头工人怎么限制容器的阻塞IO使用”,在日常操作中,相信很多人在码头工人怎么限制容器的阻塞IO使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答“码头工人怎么限制容器的阻塞IO使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
<强>块IO权重强>
默认情况下,所有容器能平等地读写磁盘,可以通过设置<代码>——blkio-weight> 代码参数来改变容器阻塞IO的优先级。
<代码>——blkio-weight 代码>与<代码>——cpu配额> 代码类似,设置的是相对权重值,默认为500。在下面的例子中,container_A读写磁盘的带宽是container_B的两倍。
docker run -it ——name container_A ——blkio-weight 600年,ubuntu docker run  -it ——name  container_B ——blkio-weight 300年,ubuntu
<强>限制个基点和iops 强>
bps是字节每秒,每秒读写的数据量。
iops是io每秒,每秒io的次数。
可通过以下参数控制容器的基点和iops:
<代码>——device-read-bps> 代码,限制读某个设备的bps。
<代码>——device-write-bps> 代码,限制写某个设备的bps。
<代码>——device-read-iops> 代码,限制读某个设备的iops。
<代码>——device-write-iops> 代码,限制写某个设备的iops。
下面这个例子限制容器写/sda的速率为30 MB/s
docker run -it ——device-write-bps /dev/sda: 30 mb ubuntu
我们来看看实验结果:
通过dd测试在容器中写磁盘的速度。因为容器的文件系统是在主机/sda上的,在容器中写文件相当于对主机/sda进行写操作。另外,<代码> oflag=> 代码直接指定用直接io方式写文件,这样<代码>——device-write-bps> 代码才能生效。
结果表明,bps 25.6 MB/s没有超过30 MB/s的限速。
作为对比测试,如果不限速,结果如下:
到此,关于“码头工人怎么限制容器的阻塞io使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!