Post on 15-Jan-2015
description
Docker PerformancePresented By
Ali Hussain, CTO Flux7
Benchmarking
Comparison of
○ Native
○ Docker
○ KVM (full virtualization)
Work in progress
Run Sysbench
Elapsed time between KVM and Docker within 1%
Noticeable difference in CPU usage○ 3% for KVM ○ 1.5% for Docker
Memory Usage○ KVM reserves the memory upfront.
Microbenchmarks
Get a better understanding of details
Not representative of a real workload○ Exaggerates Specific Behavior
Tool 1: Coremark - CPU Performance
CPU Performance - Coremark
Run native, Docker, and KVM
○ Performance difference within std dev (<3%)
CPU Performance - Coremark
Tool 2: FIO - IO Performance
FIO - First Pass
FIO - First Pass
Docker performance 7x faster than native
○ Perfect run everything on Docker :)
FIO - First Pass
What Gives?
Hypothesis: Docker saving to RAM
Let’s try with host-mounted volumes
FIO - Docker host mounted
Collectd - Memory Usage
Collectd - Memory Usage
Collectd - Disk bandwidth
Docker FIO Conclusion
Aufs is stripping flush flags○ Diving deeper into why
But is this bad?
Tool 3: iPerf
Docker within 10%
Next Steps
Try on MAC VLAN
Run on KVM
Questions