11.3. Ceph BlueStore キャッシュ
BlueStore キャッシュババッファーの集合体で、設定によっては OSD デーモンがディスクからの読み込みや書き込みを行う際に、データで埋められることがあります。Red Hat Ceph Storage のデフォルトでは、BlueStore は読み取り時にキャッシュされますが、書き込みは行いません。これは、キャッシュエビクションに関連するオーバーヘッドを回避するために bluestore_default_buffered_write
オプションが false
に設定されているためです。
bluestore_default_buffered_write
オプションが true
に設定されていると、データは最初にバッファーに書き込まれ、その後ディスクにコミットされます。その後、書き込みの確認がクライアントに送信されます。これにより、データがエビクトされるまで、キャッシュ内のデータへの読み取り速度が速くなります。
読み取り量の多いワークロードでは、BlueStore キャッシングからすぐに利益を得ることはできません。より多くの読み取りが行われると、キャッシュは時間の経過とともに増大し、後続の読み取りではパフォーマンスが向上するようになります。キャッシュがどのくらいの速さで生成されるかは、BlueStore のブロックおよびデータベースのディスクタイプ、ならびにクライアントのワークロード要件に依存します。
bluestore_default_buffered_write
オプションを有効にする前に、Red Hat サポート にお問い合わせください。
キャッシュの age bin
Red Hat Ceph Storage は、さまざまなキャッシュ内の項目を「age bins」に関連付け、すべてのキャッシュ項目の想定的な有効期限が表示されます。たとえば、BlueStore onode キャッシュに古い onode エントリーがある場合、単一の大きなオブジェクトに対して読み取りホットワークロードが発生します。その OSD の優先キャッシュは、古い onode エントリーを、ホットオブジェクトのバッファーキャッシュデータよりも低い優先度に分類します。Ceph は通常、特定の優先度で onode を大きく優先する可能性がありますが、このホットワークロードのシナリオでは、バッファーデータのメモリー要求が最初に満たされるように、古い onode にホットワークロードデータよりも優先度の低いレベルが割り当てられる可能性があります。