概要
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番ポートで参照できます。
Comments