10.3. mClock 操作キューに影響を与える要因
Red Hat Ceph Storage 内の mClock 操作キューに影響を与える要因は 3 つあります。
- クライアント操作のためのシャード数
- 操作シーケンサー内の操作数
- Ceph OSD の分散システムの使用
クライアント操作のためのシャード数
Ceph OSD へのリクエストは、配置グループ識別子によりシャード化されます。各シャードには独自の mClock キューがあり、これらのキューは相互に作用したり、シャード間で情報を共有したりしません。
シャードの数は、次の設定オプションで制御できます。
-
osd_op_num_shards
-
osd_op_num_shards_hdd
-
osd_op_num_shards_ssd
シャードの数が少ないと、mClock キューの影響が大きくなりますが、他の悪影響が生じる可能性があります。
設定オプション (osd_op_num_shards
、osd_op_num_shards_hdd
、osd_op_num_shards_ssd
) で定義されているデフォルトのシャード数を使用します。
操作シーケンサー内の操作数
リクエストは操作キューから操作シーケンサーに転送され、そこで処理されます。mClock スケジューラーは操作キューにあります。これは、操作シーケンサーに転送するオペレーションを決定します。
操作シーケンサーで許可される操作の数は複雑な問題です。ここでの目標は、操作シーケンサーに十分な操作を確保し、ディスクやネットワークアクセスが他の操作を完了するまで待機している間も、常に操作を実行できるようにすることです。
ただし、mClock は、操作シーケンサーに転送される操作を制御できなくなりました。そのため、mClock の影響を最大化するためには、操作シーケンサー内の操作を可能な限り少なくすることを目標とする必要があります。
操作シーケンサーの操作数に影響を与える設定オプションは次のとおりです。
-
bluestore_throttle_bytes
-
bluestore_throttle_deferred_bytes
-
bluestore_throttle_cost_per_io
-
bluestore_throttle_cost_per_io_hdd
-
bluestore_throttle_cost_per_io_ssd
bluestore_throttle_bytes
および bluestore_throttle_deferred_bytes
オプションで定義されているデフォルト値を使用します。ただし、これらのオプションはベンチマークフェーズで決定できます。
Ceph OSD の分散システムの使用
mClock アルゴリズムの影響を左右する 3 つ目の要因は、複数の Ceph OSD に対してリクエストが行われ、各 Ceph OSD が複数のシャードを持つことができる分散システムの使用です。ただし、現行の Red Hat Ceph Storage は mClock アルゴリズムを使用しており、これは mClock の分散バージョンではありません。
dmClock は、mClock の分散バージョンです。
関連情報
-
osd_op_num_shards_hdd
およびosd_op_num_shards_ssd
パラメーターの詳細は、Object Storage Daemon (OSD) の設定オプション を参照してください。 - BlueStore スロットルパラメーターの詳細は、BlueStore の設定オプション を参照してください。
- 詳細は、OSD の手動ベンチマーク を参照してください。