Docker DesktopのVirtioFSが正式リリースされてた
これは株式会社SUPER STUDIO Advent Calendar 2022の15日目の記事です。
Docker Desktopが最新バージョン4.15.0で、新しいファイルシステムであるVirtioFSが正式リリースになってた。
Virtiofs正式採用でMacのファイルアクセスが高速化、Docker Desktop 4.15リリース。WebAssemblyアプリをcontainerd配下で管理可能に
特にMacOSでDocker Desktopのファイルの読み書きが遅いことがよく言われてますが、それを改善できるとの触れ込み。
この辺の経緯は以下の記事参照。
Docker for Macの新しいファイルシステムVirtioFSを試してみた
このバージョン4.15.0でのファイル読み書きがどれくらい早くなったか、M2 MacBook Airで試してみた。
ベンチマーク
計測方法は先のZennの記事にあったリポジトリを使わせてもらった。
- 読み込み(従来のgRPC-FUSE)
docker-bench % docker compose run --rm bench hyperfine --warmup 2 './justread.sh files'
Benchmark 1: ./justread.sh files
Time (mean ± σ): 42.5 ms ± 0.7 ms [User: 32.8 ms, System: 9.7 ms]
Range (min … max): 41.7 ms … 45.0 ms 70 runs
- 読み込み(VirtioFS)
docker-bench % docker compose run --rm bench hyperfine --warmup 2 './justread.sh files'
Benchmark 1: ./justread.sh files
Time (mean ± σ): 41.3 ms ± 0.6 ms [User: 32.6 ms, System: 9.0 ms]
Range (min … max): 40.3 ms … 43.4 ms 71 runs
- 書き込み(従来のgRPC-FUSE)
docker-bench % docker compose run --rm bench hyperfine --warmup 1 'dd if=/dev/zero of=speedtest bs=1024 count=100000'
Benchmark 1: dd if=/dev/zero of=speedtest bs=1024 count=100000
Time (mean ± σ): 20.368 s ± 0.030 s [User: 0.205 s, System: 1.934 s]
Range (min … max): 20.308 s … 20.410 s 10 runs
- 書き込み(VirtioFS)
docker-bench % docker compose run --rm bench hyperfine --warmup 1 'dd if=/dev/zero of=speedtest bs=1024 count=100000'
Benchmark 1: dd if=/dev/zero of=speedtest bs=1024 count=100000
Time (mean ± σ): 8.935 s ± 0.190 s [User: 0.203 s, System: 3.854 s]
Range (min … max): 8.670 s … 9.244 s 10 runs
読み込みは誤差範囲と思うが、書き込みはおよそ2.3倍改善されて早くなっているのが確認できた。
有料化で何となく使うのを避けるようになりがちなDocker Desktopですが、これならきちんとライセンスを取る意味もでてきそうですな。
Read other posts