説明
CPU使用上限がないと、コンテナーが利用可能なCPU容量を過剰に消費する場合があります。CPUの予約量と最大使用量の制限は別の設定です。
想定される影響
負荷の高いサービスによって、同じホストの他のサービスが遅延したり応答できなくなったりするおそれがあります。
対処方法
deploy.resources.limits.cpusなど、実行環境が対応するCPU制限を設定し、実際に適用されることを確認してください。負荷試験で必要なスループットと上限を調整してください。
例
CPU上限を0.3、予約量を0.1にする例です。example/appを実際のイメージに置き換え、利用するCompose実行環境のdeploy対応を確認してください。
変更前
yaml
version: "3.7"
services:
app:
image: example/app
deploy:
resources:
limits:
memory: 256M
reservations:
cpus: "0.1"
変更後
yaml
version: "3.7"
services:
app:
image: example/app
deploy:
resources:
limits:
cpus: "0.3"
memory: 256M
reservations:
cpus: "0.1"
memory: 128M