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.
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