C.9. Glock の統計
GFS2 ではファイルシステム内で何が起きているのか追跡する際に役立つ統計が維持されます。この統計を使用してパフォーマンス関連の問題を見つけることができます。
GFS2 では 2 種類のカウンターを維持しています。
dcount
、要求された DLM 動作の回数をカウントします。平均/分散の計算に使用されたデータ量を示します。qcount
、要求されたsyscall
レベルの動作回数をカウントします。一般的にはqcount
はdcount
と同数かそれ以上になります。
また、GFS2 では 3 種類の平均/分散の組み合わせを維持します。平均/分散の組み合わせは平滑化指数関数推定値であり、使用されるアルゴリズムはネットワークコードで往復時間の計算に使用されるアルゴリズムになります。GFS2 で維持される平均と分散の組み合わせは整数のナノ秒単位で表されます。
- srtt/srttvar: ブロック以外の動作の平滑化往復時間
- srttb/srttvarb: ブロック動作の平滑化往復時間
- irtt/irttvar: 内部要求時間 (例、DLM 要求間の時間)
ブロック以外の要求とは該当の DLM ロックの状態に関わらず直ちに完了する要求を指します。現在、(a) ロックの最新状態が排他的な場合の要求、(b) 要求された状態が null または unlocked のいずれかの場合の要求、(c) "try lock" フラグがセットされている場合の要求がブロック以外の要求に該当します。ブロック要求はこれ以外の要求になります。
IRTT の場合は時間がかかる方がパフォーマンス関連の問題が発生する可能性が少なく、RTT の場合は時間が短い方がその可能性が少ないということになります。
統計は 2 種類の
sysfs
ファイルに格納されます。
glstats
ファイル、1 glock に付き 1 行の統計値が格納される点以外はglocks
ファイルと同じです。作成される glock の glock タイプの「per cpu」データでデータの初期化が行われます (ゼロとなるカウンターとは別)。非常に大きなサイズのファイルになる可能性があります。lkstats
ファイル、各 glock タイプの「per cpu」統計値が含まれます。1 統計に 1 行、コラムごと 1 cpu コアを示します。glock タイプごと 8 行あります。