並列プロセスの数が少ない場合は、単一の Docker コンテナーが適切に機能しますが、並列プロセスの数を 20 ~ 30 に増やすと、プロセスの実行が遅くなります。プロセスは遅くなってきていますが、それでもドッカーは CPU の 30 ~ 40% しか使用していません。
ドッカーが適切なCPUを利用し、プロセスを遅くしないようにするために、次のことを試しました-
- CPU と RAM を Docker コンテナーに明示的に割り当てました。
- ulimit を使用して、ファイル記述子の数、プロセス数、スタック サイズも増やしました。
この2つのことを行った後でも、コンテナはCPUを適切に利用していません。docker exec を使用して、単一の実行中のコンテナーで複数のプロセスを開始しています。単一の docker コンテナーを使用して複数のプロセスを実行したり、コンテナーに 100% の CPU を使用させる効率的な方法はありますか?
私が使用している構成は
サーバー - aws ec2 t2.2Xlarge (8 コア、32 GB RAM)
Docker バージョン - 18.09.7
OS-ubuntu 18.04