Show Table of Contents

第4章 コントロールグループの適用例
本章では、cgroup の機能を活用した適用例について説明します。
4.1. データベース I/O の優先度設定
独自の専用仮想ゲスト内でデータベースサーバーの各インスタンスを実行することにより、優先度に基づいてデータベースごとにリソースを割り当てることができます。次の例を検討してください。システムが 2 台の KVM ゲスト内で 2 つのデータベースを実行しています。一方のデータベースは優先度が高く、もう一方は優先度の低いデータベースです。両方のデータベースサーバーが同時に稼働すると、I/O スループットが低減し、両データベースからの要求に同等に対応します。図4.1「リソース割り当てを使用しない I/O スループット」 は、このシナリオを示しています。— 優先度の低いデータベースが起動すると (時間軸 45 前後)、I/O スループットが両データベースサーバーで同じになります。

図4.1 リソース割り当てを使用しない I/O スループット
優先度の高いデータベースサーバーを優先するには、予約済みの I/O 操作の高い数値を cgroup に割り当て、優先度の低いデータベースサーバーには予約済み I/O 操作の低い数値を cgroup に割り当てます。この設定は 手順4.1「I/O スループットの優先度設定」 の手順に従って行います。作業はすべてホストシステム上で実行します。
手順4.1 I/O スループットの優先度設定
- リソースアカウンティングが優先度の高いサービスと優先度の低いサービスの両方に設定されていることを確認します。
~]#
systemctlset-propertydb1.serviceBlockIOAccounting=true~]#systemctlset-propertydb2.serviceBlockIOAccounting=true - 優先度の高いサービスと優先度の低いサービスの比を 10:1 に設定します。それらのサービスで実行されているプロセスは、それらのサービスで利用可能なリソースのみを使用します。
~]#
systemctlset-propertydb1.serviceBlockIOWeight=1000~]#systemctlset-propertydb2.serviceBlockIOWeight=100
図4.2「I/O スループットとリソース割り当て」 は、優先度の低いデータベースを制限し、優先度の高いデータベースを優先した結果を図示しています。データベースサーバーが適切な cgroup に移動されるとすぐに (時間軸 75 前後)、I/O スループットが 10:1 の比率で両サーバー間で分配されます。

図4.2 I/O スループットとリソース割り当て
別の方法として、ブロックデバイスの I/O スロットリングを使用して、優先度の低いデータベースの読み取り/書き込み操作の回数を制限することができます。詳細は、コントローラー固有のカーネルについてのドキュメント の
blkio コントローラーに関する説明を参照してください。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.