Docker 测试 Volume 和 Storage Drivers 的 IO 性能 电脑版发表于:2021/6/23 10:23 ![Docker远征](https://img.tnblog.net/arcimg/hb/656ec4beace04f5e9a7b1d58b6368639.jpg "Docker远征") >#使用iPerf比较不同Docker网络设置的性能 [TOC] 生成镜像 ------------ >创建镜像: ```bash echo 'FROM ubuntu'>> Dockerfile # VOLUME 指令创建一个具有指定名称的挂载点,并将其标记为保存来自本机主机或其他容器的外部挂载卷。 echo 'VOLUME /data'>> Dockerfile echo 'RUN mkdir /data-notmapped' >> Dockerfile ``` >生成镜像 ```bash docker build -t benhall/ioperf-example . ``` >启动镜像 ```bash docker run -it -v /data-mapped:/data-mapped benhall/ioperf-example bash ``` >他们所对应的目录 ![](https://img.tnblog.net/arcimg/hb/191bb12279d841e08b94d529ff197572.png) 测试写 ------------ ```bash # 创建文件夹 mkdir /data-notmapped && mkdir /data # 映射 dd if=/dev/zero of=/data-mapped/largefile bs=1M count=100 # 挂载的 dd if=/dev/zero of=/data/largefile bs=1M count=100 # 非映射 dd if=/dev/zero of=/data-notmapped/largefile bs=1M count=100 ``` ![](https://img.tnblog.net/arcimg/hb/0d14bb502a1b4d56a553ef66b9c50f30.png) 测试读取 ------------ ```bash dd if=/data/largefile of=/dev/null bs=4k dd if=/data-mapped/largefile of=/dev/null bs=4k dd if=/data-notmapped/largefile of=/dev/null bs=4k ``` ![](https://img.tnblog.net/arcimg/hb/9462be1edd314e0bb0820ee6a41ab1e4.png) tn>可见读取速度都差不多 Device Mapper的读写与临时文件效率 ------------ ### 写 ![](https://img.tnblog.net/arcimg/hb/f7c6eb9006b143bf9c20cb26c3e3164c.png) ### 读 ![](https://img.tnblog.net/arcimg/hb/3bf4ee93e5eb41bfb316a4494bcf6072.png) ### 临时目录的写 ![](https://img.tnblog.net/arcimg/hb/2200274fb05c43b6b602e42501701f32.png)