手元のdocker-compo…
Vagrant + Core OS + docker-compose
概要
boot2docker + docker-compose
でホストOSののファイルシステムをマウントしたところ、すごく重いので、Vagrant + Core OS + docker-compose
にしてみた。- ついでに、ベンチマークもとってみました。
- ベンチマークは、
% dbbench 4
コマンドで行いました。(1回10分かかります)- ディスク:APPLE SSD SM0512F Media
ベンチマーク内容
boot2docker container file system
Operation Count AvgLat MaxLat ---------------------------------------- NTCreateX 577918 0.236 134.954 Close 424536 0.115 51.865 Rename 24460 0.534 49.595 Unlink 116657 0.463 133.928 Deltree 16 10.550 42.714 Mkdir 8 0.079 0.153 Qpathinfo 523842 0.168 90.023 Qfileinfo 91866 0.117 43.895 Qfsinfo 95976 0.195 91.965 Sfileinfo 47064 0.373 144.815 Find 202459 0.199 45.888 WriteX 288380 0.288 96.877 ReadX 905642 0.127 350.554 LockX 1884 0.050 8.381 UnlockX 1884 0.117 36.129 Flush 40486 17.493 538.779 Throughput 30.1989 MB/sec 4 clients 4 procs max_latency=539.087 ms
boot2docker container mount FS.
Operation Count AvgLat MaxLat ---------------------------------------- NTCreateX 22882 42.118 1403.164 Close 16734 2.903 172.245 Rename 966 79.413 532.418 Unlink 4714 30.432 1309.666 Qpathinfo 20633 22.221 1145.030 Qfileinfo 3549 2.625 189.255 Qfsinfo 3811 4.645 123.918 Sfileinfo 1902 29.595 303.404 Find 7967 47.080 385.768 WriteX 11228 5.105 152.099 ReadX 35198 4.028 156.998 LockX 72 0.075 1.783 UnlockX 72 0.034 0.224 Flush 1644 0.161 48.173 Throughput 1.16189 MB/sec 4 clients 4 procs max_latency=1403.268 ms
Vagrant + Core OS + container file system
Operation Count AvgLat MaxLat ---------------------------------------- NTCreateX 3080745 0.021 88.055 Close 2263045 0.001 10.429 Rename 130446 0.050 38.538 Unlink 622126 0.049 95.054 Deltree 80 2.252 15.547 Mkdir 40 0.002 0.017 Qpathinfo 2792341 0.005 58.912 Qfileinfo 489401 0.001 6.665 Qfsinfo 512005 0.002 5.374 Sfileinfo 250951 0.161 42.271 Find 1079605 0.017 15.224 WriteX 1536354 0.022 64.048 ReadX 4828893 0.004 22.103 LockX 10030 0.003 5.337 UnlockX 10030 0.001 1.674 Flush 215920 9.880 153.907 Throughput 161.082 MB/sec 4 clients 4 procs max_latency=153.910 ms
Vagrant + Core OS + container mount file system
Operation Count AvgLat MaxLat ---------------------------------------- NTCreateX 1052858 0.959 299.335 Close 773373 0.303 301.123 Rename 44579 1.731 69.077 Unlink 212595 0.665 49.638 Deltree 24 35.710 95.080 Mkdir 12 0.480 0.811 Qpathinfo 954354 0.336 303.192 Qfileinfo 167168 0.346 26.187 Qfsinfo 174935 0.463 43.445 Sfileinfo 85764 0.475 19.563 Find 368931 0.955 302.416 WriteX 524405 0.013 26.680 ReadX 1650314 0.006 20.807 LockX 3428 0.456 10.404 UnlockX 3428 0.003 0.289 Flush 73791 0.678 28.926 Throughput 55.0096 MB/sec 4 clients 4 procs max_latency=303.719 ms
ベンチマークまとめ
- なんとか、実用に耐えうるような速度になりました。
- なぜかcontainer内のファイルシステムは値が異なる。。。
- boot2docker = Vagrant + CoreOS だと思っていたけど、違うのか??
- Vagrant + Core OS + docker-composeのコードはこちら。https://github.com/matsubo/coreos-vagrant
% vagrant up
するだけで、container内にnginxが立ち上がり、80番ポートで参照できます。