【发布时间】:2015-10-07 00:05:28
【问题描述】:
我在 docker 容器中执行 parallel_tests,例如一个主机命令。
parallel_tests 将检查资源,并为每个核心生成一个进程,在我的实例中,我有 8 个可用核心:
# docker info
Containers: 5
Images: 75
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 85
Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.16.0-49-generic
Operating System: Ubuntu 14.04.2 LTS
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
在没有 docker 的同一台机器上,很明显这些测试是并行运行的,并且会耗尽所有可用资源(正是我们想要的 CI)。
在 docker 中执行时,似乎所有内容都在单个进程中运行,并且结果只能同步来自每个测试运行器(相比之下要慢得多)。
我是否需要运行并行主机命令才能使用资源?我可以设置一个选项以允许我的 docker 命令派生更多并行进程吗?
【问题讨论】:
-
并行进程也可能运行良好,而我在其他地方遇到了瓶颈......欢迎任何 cmets/建议。
-
我原来的问题仍然存在,但经过一番挖掘后发现我have found that my ubuntu host isn't performing as well.
标签: parallel-processing docker docker-compose parallel-testing