Performance
Performance
OSX
Setup |
Native (out of the box) |
Docker-Sync |
|
|---|---|---|---|
Unison |
native_osx |
||
Docker Toolbox - VMware Fusion |
12.31s |
0.24s |
n/a (issue) |
Docker Toolbox - VirtualBox |
3.37s |
0.26s |
n/a (issue) |
Docker for Mac |
20.55s |
0.36s |
0.28s |
Docker for Mac Edge |
18.12s |
0.27s |
0.19s |
Docker for Mac Edge + APFS |
18.15s |
0.38s |
0.37s |
Docker for Mac Edge :cached |
17.65s |
0.21s |
0.22s |
Setup and details below at Performance Tests 2017.
Windows
Coming soon.
Linux
Coming soon.
Performance Tests 2017
Results
Test: writing 100MB
Setup |
Native (out of the box) |
Docker-Sync |
|
|---|---|---|---|
Unison |
native_osx |
||
Docker Toolbox - VMware Fusion |
8.70s |
0.22s |
n/a (issue) |
Docker Toolbox - VirtualBox |
3.37s |
0.26s |
n/a (issue) |
Docker for Mac |
18.85s |
0.24s |
0.28s |
Docker for Mac Edge |
18.12s |
0.27s |
0.19s |
Docker for Mac Edge :cached |
17.65s |
0.21s |
0.22s |
Those below is how the tests were made and how to reproduce them:
Setup
Test-hardware
i76600u
16GB
SSD
Sierra
Docker Toolbox VMware Fusion machine:
docker-machine create --driver vmwarefusion --vmwarefusion-cpu-count 2 --vmwarefusion-disk-size 50000 --vmwarefusion-memory-size 8000 default
Docker for Mac
8GB
CPUs
Native implementations
Those tests run without docker-sync or anything, just plain what you get out of the box.
VirtualBox - Native
docker-machine create --driver virtualbox --virtualbox-cpu-count 2 --virtualbox-disk-size 20000 --virtualbox-memory "8000" vbox
docker run -it -v /Users/em/test:/var/www alpine time dd if=/dev/zero of=/var/www/test.dat bs=1024 count=100000
100000+0 records in
100000+0 records out
real 0m 3.37s
user 0m 0.00s
sys 0m 2.09s
3.37s
VMware Fusion - Native
docker run -it -v /Users/em/test:/var/www alpine time dd if=/dev/zero of=/var/www/test.dat bs=1024 count=100000
100000+0 records in
100000+0 records out
real 0m 12.32s
user 0m 0.14s
sys 0m 2.22s
12.31s
Docker for Mac - Native
8GB Ram
2 CPUs
docker run -it -v /Users/em/test:/var/www alpine time dd if=/dev/zero of=/var/www/test.dat bs=1024 count=100000
100000+0 records in
100000+0 records out
real 0m 18.85s
user 0m 0.11s
sys 0m 1.06s
20.55s
Docker-sync - Strategy: Native_osx
Get this repo and this boilerplate project
git clone https://github.com/EugenMayer/docker-sync-boilerplate
cd docker-sync-boilerplate/default
docker-sync-stack start
Vmware Fusion
docker exec -it nativeosx_app-unison_1 time dd if=/dev/zero of=/var/www/test.dat bs=1024 count=100000
100000+0 records in
100000+0 records out
real 0m 0.32s
user 0m 0.02s
sys 0m 0.24s
0.32s
Docker for Mac
docker exec -it nativeosx_app-unison_1 time dd if=/dev/zero of=/var/www/test.dat bs=1024 count=100000
100000+0 records in
100000+0 records out
real 0m 0.28s
user 0m 0.02s
sys 0m 0.25s
0.26s
Docker-Sync - Strategy: Unison
Get this repo and this boilerplate project
git clone https://github.com/EugenMayer/docker-sync-boilerplate
cd docker-sync-boilerplate/unison
docker-sync-stack start
VirtualBox
docker exec -it unison_app-unison_1 time dd if=/dev/zero of=/var/www/test.dat bs=1024 count=100000
100000+0 records in
100000+0 records out
real 0m 0.26s
user 0m 0.00s
sys 0m 0.23s
VMware Fusion
docker exec -it unison_app-unison_1 time dd if=/dev/zero of=/var/www/test.dat bs=1024 count=100000
100000+0 records in
100000+0 records out
real 0m 0.24s
user 0m 0.01s
sys 0m 0.23s
Docker for Mac
docker exec -it unison_app-unison_1 time dd if=/dev/zero of=/var/www/test.dat bs=1024 count=100000
100000+0 records in
100000+0 records out
real 0m 0.24s
user 0m 0.04s
sys 0m 0.16s
0.36s