Docker 在 ubuntu 主机上的性能比 OSX 主机差 2 倍以上

Docker performance on ubuntu host 2x+ worse than OSX host

好吧,让我们在调查一堆之后重新开始。这是我们所知道的:

Ubuntu主机

15.04 on i7 3820 (quad 3.6) 和三星 850 pro SSD 512gb SATA 6

$ docker info
Containers: 2
Images: 101
Storage Driver: overlay
 Backing Filesystem: extfs
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.19.0-28-generic
Operating System: Ubuntu 15.04
CPUs: 8
Total Memory: 15.61 GiB
Name: camacho
ID: ZOYN:QGDO:UGMJ:TDDM:WEEM:ZEHJ:4OKB:V5WR:RGCL:NOKG:F5W5:SDEL
WARNING: No swap limit support

OSX主机

10.10.5 on i7 (quad 2.7) 和 Apple SSD 512gb SD512E SATA 6(2 岁以上)

$ docker info
Containers: 3
Images: 185
Storage Driver: aufs
 Root Dir: /mnt/sda1/var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 191
 Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 4.0.9-boot2docker
Operating System: Boot2Docker 1.8.1 (TCL 6.3); master : 7f12e95 - Thu Aug 13 03:24:56 UTC 2015
CPUs: 8
Total Memory: 3.858 GiB
Name: dinghy
ID: PNNP:PI3E:CRUK:27RI:IPHW:HROF:NQA2:XKV6:VGCZ:WT7B:BZ7R:USWD
Debug mode (server): true
File Descriptors: 21
Goroutines: 54
System Time: 2015-09-24T19:16:01.715069994Z
EventsListeners: 1
Init SHA1: 
Init Path: /usr/local/bin/docker
Docker Root Dir: /mnt/sda1/var/lib/docker
Labels:
 provider=virtualbox

观察

  1. dockerized rspec 运行 在 OSX
  2. 上快 2 倍以上
  3. sysbench io 结果在 Ubuntu
  4. 上很糟糕
  5. dockerized iozone 结果符合预期(ubuntu 稍快)
  6. 硬件检查完成,ubuntu主机在 SATA 6 电缆和端口上

碘酮结果

docker run -it threadx/docker-ubuntu-iozone
$ iozone -R -l 5 -u 5 -r 4k -s 100m -F /home/f1 /home/f2 /home/f3 /home/f4 /home/f5 | tee -a /tmp/iozone_results.txt &

总结

我正在对我们的测试过程进行 docker 化,因为我们需要稳定性和并发性。我们已经做了很多工作来限制测试时间,将时间增加 2 倍是一个可怕的倒退。

Sysbench 显示 ubuntu 主机的性能比 OSX 差 4 倍,我对此一无所知。 ddiozone 测试显示 ubuntu 主机按预期运行。

问题

为什么我的 rspec 在具有更快资源的 ubuntu 主机上性能更差?我应该去哪里调查? sysbench io test 是指标还是异常? dockerized ubuntu 中性能不佳的根源是什么?

区别在于 PCIe 与 SATA 6 接口。最新一代 Macbook Pro PCIe 速度更快。