Block IO:指的是磁盘的读写,docker 可以通过设置权重,限制bpsiops的方式控制容器读写磁盘的带宽

注:目前block IO限额只对direct IO不使用文件缓存)有效。

1.Block IO权重:--blkio-weight,这个--blkio-weight的权重值在  10~1000之间

和容器cpu的使用机制是一致的,所有容器都可以平等的读写磁盘,可以通过--blkio-weight参数来改变容器的优先级

--blkio-weight和-c类似,设置的都是资源使用的权重,都是在资源紧张的情况下才会起到权重的作用,正常情况下,都是平等的

--blkio-weight-device 针对特定的设备设置权重 例:docker run -d --blkio-weight-device /dev/sdb:30M httpd

如果同时设置了--blkio-weight和--blkio-weight-device,则以--blkio-weight为全局默认配置

--blkio-weight和--blkio-weight-device,由于是根据权重进行资源分配的,而这种权重有体现在资源紧缺的情况下,所以暂时不做试验

2.限制bps和iops

bps:byte per second ,每秒读写的数据量

iops:io per second ,每秒IO次数

可以通过以下参数来控制容器的bps 和iops:

--device-read-bps:限制读某个设备的bps(数据量)   例:docker run -d  --device-read-bps /dev/sdb:30M  httpd

--device-write-bps : 限制写入某个设备的bps(数据量) 例:docker run -d --device-write-bps dev/sdb:30M httpd

--device-read-iops :限制读某个设备的iops(次数) 例:docker run -d --device-read-iops /dev/sdb

--device-write-iops :限制写入某个设备的iops(次数)

做一个限制bps的写入的操作的试验:由于没有找到比较好的“读”相关的bps和iops 的测试,所以这种测试之后在实际工作环境下再酌情进行测试吧~

docker run -it--device-write-bsp /dev/sda:60M --name bsp3 centos

oflag=direct:指定使用direct IO方式写文件,这样--device-write-bps才会生效

在这个实验中,从结果来看是63M,但是我设置的是60M,按正常来说应该低于60M,但是为什么会高于60M呢?

根据我的分析来讲,是由于docker block IO 是根据权重来限制,而这种权重是体现在资源紧张的情况下的,在本实验中,资源非常够用,所以会出现以上结果

我们来看一下正常情况下的试验结果

在这个试验中,是没有对容器加限制的,可以看到他的写入大小速度非常高

最新文章

  1. SSM整合(三):Spring4与Mybatis3与SpringMVC整合
  2. windbg学习.formats--转换成各种进制
  3. 【ZOJ 1221】Risk
  4. 【iM_VGA模块】运行 ucgui 演示!
  5. c++11编码规范 NULL还是nullptr
  6. android开源项目---developer篇
  7. easyui中Tab的tools按钮刷新当前tab
  8. 关闭MyEclipse的Quick Update
  9. C语言基础学习基本数据类型-字符专属的输入输出函数
  10. html和html5学习
  11. 老司机教你下载tumblr上视频和图片的正确姿势
  12. H5个性三级联动日期插件(一)
  13. [技术]浅谈c++ this指针
  14. SAML2.0 协议初识(一)
  15. JavaWeb一小时急速入门总结反思
  16. mybatis if test 判断字符串的坑
  17. 牛客国庆集训派对Day2
  18. rabbitmq安装错误集
  19. requests库的post请求
  20. glide从入门到精通使用

热门文章

  1. 3分钟看完Java 8——史上最强Java 8新特性总结之第四篇 其他新特性
  2. FFmpeg数据结构AVPacket
  3. [算法]PHP随机合并数组并保持原排序
  4. R语言学习笔记(五)绘图(1)
  5. IdentityServer4 中文文档 -6- (简介)示例服务器和测试
  6. expressjs项目里使用npm run dev,实现热更新
  7. 禁用 Gnome Shell 默认的 Ubuntu Dock 和 Ubuntu AppIndicators 扩展
  8. 2018-01-11 Antlr4实现数学四则运算
  9. php向数据库插入数据
  10. 解决git did not exit cleanly (exit code 128)