好的,经过一系列调查后,我们重新开始。以下是我们所知道的:
Ubuntu 主机
15.04 在 i7 3820 (四核 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 在 i7 (四核 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
观察结果
- dockerized rspec 在 OSX 上的运行速度提高了 2 倍以上
- Ubuntu 上的 sysbench io 结果很糟糕
- dockerized iozone 结果符合预期(ubuntu 稍快)
- 硬件检查完成,ubuntu 主机位于 SATA 6 电缆和端口上
iozone 结果
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 &
概括
我正在将我们的测试流程容器化,因为我们需要稳定性和并发性。我们做了很多工作来限制测试时间,而将时间增加 2 倍是一种可怕的倒退。
Sysbench 显示 ubuntu 主机的性能比 OSX 差 4 倍,我对此感到困惑。 dd
测试iozone
显示 ubuntu 主机的性能符合预期。
问题
为什么我的 rspec 在资源更快的 ubuntu 主机上性能更差?我应该在哪里调查?sysbench io 测试是指标还是异常?dockerized ubuntu 中性能不佳的根源是什么?
答案1
在多台设备上测试后,我们发现I/O接口似乎存在差异:
Sysbench 300 秒的通用 IO 传输结果:
- SATA3 - 1GB
- SATA6 Ubuntu - 3GB
- SATA6 OSX(2 年以上的 mbpro)- 12gb
- PCIe(新 mbpro)-57gb
我正在寻找 PCIe 存储的硬件升级。