单个 docker 容器适用于较少数量的并行进程,但是当我们将并行进程的数量增加到 20-30 时,进程执行速度会变慢。进程越来越慢,但 docker 仍然只使用了 30-40% 的 cpu。
我已经尝试过以下事情以使 docker 使用正确的 cpu 并且不减慢进程 -
- 我已将 cpu 和 ram 明确分配给 docker 容器。
- 我还使用 ulimit 增加了文件描述符的数量、进程数量和堆栈大小。
即使做了这两件事,容器仍然没有正确利用 cpu。我正在使用 docker exec 在单个运行的容器中启动多个进程。是否有任何有效的方法可以使用单个 docker 容器来执行多个进程或使容器使用 100% 的 cpu?
我正在使用的配置是
服务器 - aws ec2 t2.2Xlarge(8 核,32 GB 内存)
Docker 版本 - 18.09.7
Os- Ubuntu 18.04