16.6. パフォーマンスプロファイルによる低レイテンシーを実現するためのノードのチューニング
パフォーマンスプロファイルを使用すると、特定のマシン設定プールに属するノードのレイテンシーの調整を制御できます。設定を指定すると、PerformanceProfile オブジェクトは実際のノードレベルのチューニングを実行する複数のオブジェクトにコンパイルされます。
-
ノードを操作する
MachineConfigファイル。 -
Topology Manager、CPU マネージャー、および OpenShift Container Platform ノードを設定する
KubeletConfigファイル。 - Node Tuning Operator を設定する Tuned プロファイル。
手順
- クラスターを準備します。
- マシン設定プールを作成します。
- Performance Addon Operator をインストールします。
ハードウェアとトポロジーに適したパフォーマンスプロファイルを作成します。パフォーマンスプロファイルでは、カーネルを kernel-rt、hugepages の割り当て、オペレーティングシステムのハウスキーピング用に予約される CPU、およびワークロードの実行に使用される CPU に更新するかどうかを指定できます。
これは、典型的なパフォーマンスプロファイルです。
apiVersion: performance.openshift.io/v2 kind: PerformanceProfile metadata: name: performance spec: cpu: isolated: "5-15" reserved: "0-4" hugepages: defaultHugepagesSize: "1G" pages: -size: "1G" count: 16 node: 0 realTimeKernel: enabled: true1 numa:2 topologyPolicy: "best-effort" nodeSelector: node-role.kubernetes.io/worker-cnf: ""
- 1
- 有効な値は
trueまたはfalseです。true値を設定すると、ノード上にリアルタイムカーネルがインストールされます。 - 2
- Topology Manager ポリシーを設定するには、このフィールドを使用します。有効な値は
none(デフォルト)、best-effort、restricted、およびsingle-numa-nodeです。詳細は、Topology Manager Policies を参照してください。
16.6.1. CPU のパーティション設定 リンクのコピーリンクがクリップボードにコピーされました!
単一の NUMA ノードからオペレーティングシステムのハウスキーピングタスク用にコアまたはスレッドを予約し、ワークロードを別の NUMA ノードに配置することができます。これを実行する理由として、ハウスキーピングプロセスで同じ CPU 上で実行されるレイテンシーの影響を受けるプロセスに影響を与える可能性がある方法で CPU を使用する可能性があるためです。ワークロードを別の NUMA ノードで維持することにより、プロセスが相互に干渉しないようにすることができます。また、各 NUMA ノードには共有されない独自のメモリーバスがあります。
spec セクションに、CPU の 2 つのグループを指定します。
-
isolated: 最も低いレイテンシーが設定されます。このグループのプロセスには割り込みがないため、DPDK ゼロパケットロスの帯域幅がより高くなります。 -
reserved: ハウスキーピング CPU予約されたグループのスレッドはビジーになる可能性があるため、レイテンシーの影響を受けるアプリケーションは分離されたグループで実行される必要があります。Create a pod that gets assigned a QoS class ofGuaranteedを参照してください。