IO Benchmark: Docker Volume vs VirtualBox with IO cache (2016-11-24)

Created on 2016-11-24
Published on 2018-02-16


同一のHDD上で、Docker volumeとVirtualBoxの仮想ストレージのパフォーマンス比較をした。 VirtualBoxの仮想ストレージのIO Cacheを有効にしていたため、VirtualBoxのほうが 2倍くらい IOが早い結果となった。 クラッシュ時のデータ破損を覚悟で、VirtualBoxの上に乗っけるのはありかもしれない。

クラッシュしたときにデータが壊れる可能性があるけど、積極的にwrite要求を遅延してくれるファイルシステム or ブロックデバイスがあるといいのだが・・・

debian sid on docker on debian sid (2016-11-24)

Benchmark Run: Thu Nov 24 2016 14:47:29 - 15:16:56
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables      144692528.6 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                    18775.9 MWIPS (9.8 s, 7 samples)
Execl Throughput                              24013.7 lps   (29.7 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        551947.4 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          139178.0 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1940411.3 KBps  (30.0 s, 2 samples)
Pipe Throughput                             8725935.6 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                1465453.8 lps   (10.0 s, 7 samples)
Process Creation                              56023.8 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                  42996.7 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                   5296.1 lpm   (60.0 s, 2 samples)
System Call Overhead                        5339100.3 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0  144692528.6  12398.7
Double-Precision Whetstone                       55.0      18775.9   3413.8
Execl Throughput                                 43.0      24013.7   5584.6
File Copy 1024 bufsize 2000 maxblocks          3960.0     551947.4   1393.8
File Copy 256 bufsize 500 maxblocks            1655.0     139178.0    841.0
File Copy 4096 bufsize 8000 maxblocks          5800.0    1940411.3   3345.5
Pipe Throughput                               12440.0    8725935.6   7014.4
Pipe-based Context Switching                   4000.0    1465453.8   3663.6
Process Creation                                126.0      56023.8   4446.3
Shell Scripts (1 concurrent)                     42.4      42996.7  10140.7
Shell Scripts (8 concurrent)                      6.0       5296.1   8826.8
System Call Overhead                          15000.0    5339100.3   3559.4
                                                                   ========
System Benchmarks Index Score                                        4239.8

debian jessie (2016-09-08) on virtualbox on debian sid (2016-11-24)

Benchmark Run: Fri Nov 25 2016 03:56:24 - 04:24:30
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables      141339425.6 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                    18253.8 MWIPS (9.7 s, 7 samples)
Execl Throughput                              20210.1 lps   (29.8 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks       1358775.5 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          357235.3 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       4160264.9 KBps  (30.0 s, 2 samples)
Pipe Throughput                             8422864.7 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                1843784.4 lps   (10.0 s, 7 samples)
Process Creation                              30675.3 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                  34446.3 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                   4790.3 lpm   (60.0 s, 2 samples)
System Call Overhead                       10210526.6 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0  141339425.6  12111.3
Double-Precision Whetstone                       55.0      18253.8   3318.9
Execl Throughput                                 43.0      20210.1   4700.0
File Copy 1024 bufsize 2000 maxblocks          3960.0    1358775.5   3431.3
File Copy 256 bufsize 500 maxblocks            1655.0     357235.3   2158.5
File Copy 4096 bufsize 8000 maxblocks          5800.0    4160264.9   7172.9
Pipe Throughput                               12440.0    8422864.7   6770.8
Pipe-based Context Switching                   4000.0    1843784.4   4609.5
Process Creation                                126.0      30675.3   2434.5
Shell Scripts (1 concurrent)                     42.4      34446.3   8124.1
Shell Scripts (8 concurrent)                      6.0       4790.3   7983.9
System Call Overhead                          15000.0   10210526.6   6807.0
                                                                   ========
System Benchmarks Index Score                                        5135.7