3.3. Postgres Pod の推奨サイズ
chatty_task Playbook を使用してパフォーマンスベンチマークテストを実施した後、CPU リソース要求が 500m 未満になると、リソース制限よりも低いものの、初期リソース要求よりも多い場合には、追加のリソースが Pod に対して確保することが保証されないので、Postgres Pod で CPU スロットリングを引き起こす可能性があります。ただし、テスト中に 500m 要求を超えるバーストがあったため、CPU 制限は 1000m (1 vCPU) に設定されました。
メモリーに関しては、メモリーは圧縮可能なリソースではないため、chatty_task パフォーマンステスト中に、テストの最高レベルの Postgres Pod が 650Mi をわずかに超える RAM を消費したことがわかります。
したがって、このような結果をもとにすると、このリファレンス環境で推奨されるメモリーリソースの要求および制限は1Gi で、この程度あれば、十分なバッファーを提供し、Postgres Pod で Out Of Memory (OOM) Kill が発生する可能性を回避します。
以下に記載されている リソース要求 および リソース制限 は、パフォーマンスベンチマークの結果で、Postgres Pod を実行する際の開始ベースラインとして使用できます。
spec:
...
postgres_resource_requirements:
limits:
cpu: 1000m
memory: 1Gi
requests:
cpu: 500m
memory: 1Gi
以下の値は、このリファレンス環境に固有のものであり、実際のワークロードに対して不十分な場合があります。Postgres Pod のパフォーマンスを監視し、パフォーマンスのニーズを満たすようにリソースの割り当てを調整することが重要です。