^GLOSTAT を使用したグローバル動作の統計収集
Caché には、グローバル活動の統計情報を収集し、ディスク入出力操作に関するさまざまな情報を表示する ^GLOSTAT ユーティリティが備わっています。この章では、このルーチンの使用方法を説明します。内容は以下のとおりです。
インターシステムズの管理ポータルを使用して、^GLOSTAT によって報告される統計情報を表示することもできます。監視しているシステムのポータル・アプリケーションにログオンして、システム, システム使用 ページに移動します。
^GLOSTAT の実行
^GLOSTAT を実行するには、%SYS ネームスペースにいる必要があります。ルーチン名は大文字と小文字が区別されます。
-
以下のコマンドを入力します。
Do ^GLOSTAT
-
以下のプロンプトが表示されます。
Should detailed statistics be displayed for each block type? No =>
上記で示されているように、既定は No です。ブロック全体の要約を表示するには Enter キーを押し (例 A)、ブロック・タイプ別の詳細な統計を表示するには Yes と入力して Enter キーを押します (例 B)。
-
^GLOSTAT ルーチンは、ユーザの要求に従って統計を表示します。Caché を起動するたびに、^GLOSTAT の統計情報カウンタが初期化されます。したがって、最初の実行時の出力には、Caché を起動した後の操作が反映されます。
^GLOSTAT の統計レポートを最初に表示した後、または 2 回目以降に表示した後、以下のプロンプトが表示されます。
Continue (c), zero statistics (z), timed stats (# sec > 0), quit?
以下のいずれかを入力してください。
応答 動作 c レポートが再び表示され、前回の初期化以降の状況を反映した最新の累積統計データが示されます。 z ^GLOSTAT 統計カウンタをゼロに初期化します。 q ^GLOSTAT ルーチンを終了します。 # (秒数を示す正の整数) 統計データが初期化され、指定した秒数に相当する統計がカウントされます。さらに、1 秒あたりの平均値として統計データが表示されます (例 C と 例 G)。 -
特定の時間間隔についての統計データを表示するには (例 D)、以下の手順に従います。
-
z を入力して、統計データをゼロに初期化します。
-
q を入力して、このユーティリティを終了します。または、プロンプトに何も入力せず、そのままにしておきます。
-
希望する時間だけ待機します。
-
^GLOSTAT を終了した場合は、もう一度実行します。それ以外の場合は、c と入力して続行します。
-
^GLOSTAT のレポートに、カウンタを初期化した後の操作を反映した統計データが表示されます。
-
^GLOSTAT ユーティリティでは、通常、32 ビットのカウンタを使用して統計データが収集されます。時間間隔が極端に長いと、一部のカウンタでオーバーフローが発生する可能性があります。
^GLOSTAT 統計の概要
^GLOSTAT 統計情報は、Caché を起動した後、またはカウンタを初期化した後に発生したイベントの数をタイプごとに示します。また、指定した時間間隔について、1 秒あたりのイベント発生回数を表示することもできます。システム管理者のネームスペースから、いつでも ^GLOSTAT を実行できます。多くの場合、停止中のシステムではなく、アクティブなシステムでこのユーティリティを実行することが重要です。
Caché インスタンスがスタンドアロン構成または ECP データサーバである場合、リポートには “Total” 列のみが表示されます。ECP アプリケーション・サーバの場合 (つまり、リモート・データベースに接続している場合) は、“Local”、“Remote”、“Total” という 3 つの列が表示されます (例 E)。
以下のテーブルは、^GLOSTAT 統計を定義します。
統計 | 定義 |
---|---|
グローバル参照 (すべて) | グローバルへのアクセスの論理カウント (式内のグローバル参照、Set、Kill、$Data、$Order、$Increment、$Query)。 |
グローバル更新参照 | グローバル参照 (Set、Kill、$Increment) の論理カウント。 |
ルーチン呼び出し | ルーチンへの呼び出し数。 |
ルーチン・バッファの読み込みと保存 | ZLoad、ZSave、および実行中のルーチンの結果として、ルーチンの読み込みと保存が行われた合計数 (適切に調整された環境の場合、ほとんどのルーチンはルーチン・キャッシュ・メモリに既に格納されており、ディスクにアクセスする必要がありません。したがって、この数値は緩やかに増加します。1 回のルーチンの読み込みまたは保存では、最大 32 KB (Unicode では 64 KB) のデータが転送されます)。 |
ルーチン・コマンド | システム起動後に実行されたルーチン・コマンドの数。 |
キャッシュされないルーチン | メモリにキャッシュされないルーチンの数。この情報は、ルーチン・バッファ・キャッシュが適切なサイズかどうかを判断する際に役立ちます。 |
キャッシュ効率 | 全グローバル参照数を、物理ブロックの読み取り数と書き込み数で割った値。百分率 (%) ではありません。 |
ジャーナル・エントリ | 作成されたジャーナル・レコードの数。ジャーナル・レコードは、データベースの修正 (Set、Kill など)、トランザクション・イベント (TStart、TCommit)、ジャーナルに保存されたその他のイベントごとに 1 つ作成されます。 |
ジャーナル・ブロック書込 | ジャーナル・ファイルに書き込まれた 64 KB ジャーナル・ブロックの数。 |
論理ブロック要求 | グローバル・データベース・コードによって読み取られたデータベース・ブロックの数 (適切に調整された環境では、通常、これらの読み取りはディスクにアクセスしないで実行されます)。 |
物理ブロック読取 | グローバル参照とルーチン参照の両方について、ディスクから読み取られた物理データベース・ブロックの数。 |
データベース物理ブロック書込 | グローバル参照とルーチン参照の両方について、ディスクに書き込まれた物理データベース・ブロックの数。 |
WIJ 物理ブロック書込 | グローバル参照とルーチン参照の両方について、ディスクに書き込まれた物理ライト・イメージ・ジャーナリング (WIJ) のブロックの数。 |
書込待機ブロック | ディスクへの書き込みを待機しているデータベース・ブロックの数。 |
オプションが選択されている場合、^GLOSTAT は、“論理ブロック要求”、“物理ブロック読込”、“書込待機ブロック” について、次のような詳細なブロック統計もリポートします。各カテゴリ内のすべてのブロック・タイプの総数は、右端の列に表示されます (例 F)。
ブロック・タイプは、以下のとおりです。
ラベル | 説明 |
---|---|
Data | データ・ブロック |
Dir | ディレクトリ・ブロック |
Bdata | 大きいデータ・ブロック (大きな文字列を含むブロック) |
Map | マップ・ブロック |
Upper ptr | 上部ポインタ・ブロック |
Bottom ptr | 下部ポインタ・ブロック |
Other | 上記以外のブロック (増分バックアップやストレージ割り当て情報など) |
^GLOSTAT の出力例
以下の出力例は、^GLOSTAT ユーティリティ・ルーチンを実行する際のさまざまなオプションを示しています。
-
例 A — スタンドアロンまたはサーバ構成の Caché インスタンスで、^GLOSTAT ルーチンを最初に実行した場合の出力例です。詳細な統計データは要求していません。
-
例 B — スタンドアロンまたはサーバ構成の Cach インスタンスで、詳細なブロック統計データを要求して、^GLOSTAT ルーチンを最初に実行した場合の出力例です。
-
例 C — 対象となる時間間隔を指定して実行した場合の出力例。詳細な統計データは要求していません。
-
例 D — c、z、および q で応答した場合の出力例を示します。詳細な統計データは要求していません。
-
例 E — クライアント構成の Caché インスタンスで、詳細な統計データを要求せずに、^GLOSTAT ルーチンを最初に実行した場合の出力例です。
-
例 F — クライアント構成の Cach インスタンスで、詳細なブロック統計データを要求して、^GLOSTAT ルーチンを最初に実行した場合の出力例です。
-
例 G — 詳細なブロック統計データを要求し、^GLOSTAT ルーチンを 2 回続けて実行します。時間間隔も指定しています。
例 A
以下は、^GLOSTAT ルーチンを最初に実行した場合の出力例です。詳細な統計データは要求していません。Caché インスタンスはスタンドアロンまたはサーバ構成です。
%SYS>Do ^GLOSTAT
Should detailed statistics be displayed for each block type? No =>n
Statistics Total
------------------------------- -------------
Global references (all): 538,784
Global update references: 26,327
Routine calls: 65,643
Routine buffer loads and saves: 420
Routine commands: 2,919,070
Routine not cached: 671
Logical block requests: 109,140
Block reads: 6,836
Block writes: 236
WIJ writes: 75
Cache Efficiency: 76
Journal Entries: 14,173
Journal Block Writes: 27
Continue (c), zero statistics (z), timed stats (# sec > 0), quit?
例 B
以下は、^GLOSTAT ルーチンを最初に実行した場合の出力例です。詳細なブロック統計データを要求しています。Caché インスタンスはスタンドアロンまたはサーバ構成です。
%SYS>do ^GLOSTAT
Should detailed statistics be displayed for each block type? No =>y
Statistics Total
------------------------------- -------------
Global references (all): 6,444,341
Global update references: 1,322,017
Routine calls: 896,130
Routine buffer loads and saves: 9,008
Routine commands: 2,945,059
Routine not cached: 671
Cache Efficiency: 176
Journal Entries: 211,164
Journal Block Writes: 363
Logical Block Requests Data: 1,643,739
Dir: 13,147 Upper ptr: 138,837
BData: 164,102 Bottom ptr: 1,034,472
Map: 3,043 Other: 1 2,997,341
Physical Block Reads Data: 33,846
Dir: 42 Upper ptr: 31
BData: 452 Bottom ptr: 290
Map: 12 Other: 1 34,674
Database Physical Block Writes 1,918
WIJ Physical Block Writes 75
Blocks Queued to be Written Data: 1,952
Dir: 11 Upper ptr: 0
BData: 317 Bottom ptr: 65
Map: 22 Other: 6 2,373
Obj cache Hit/Miss/Load: 29,623/405/1,331
Obj OREFs newed/del: 8,617/8,604
Continue (c), zero statistics (z), timed stats (# sec > 0), quit?
例 C
以下の出力例は、指定した時間間隔 (30 秒) における 1 秒あたりの ^GLOSTAT 統計データを示しています。各ブロック・タイプの詳細な統計データは要求していません。Caché インスタンスは、スタンドアロン構成またはサーバ構成のいずれかです。
Continue (c), zero statistics (z), timed stats (# sec > 0), quit? 30
Counts per Second for 30 Seconds...
Statistics (per second) Total
------------------------------- -------------
Global references (all): 1,369.8
Global update references: 299.6
Routine calls: 1,057.6
Routine buffer loads and saves: 12.0
Routine commands: 26.0
Routine not cached: 0
Logical block requests: 696.9
Block reads: 0.7
Block writes: 3.2
WIJ writes: 0
Cache Efficiency: 354.3
Journal Entries: 277.5
Journal Block Writes: 0.5
Continue (c), zero statistics (z), timed stats (# sec > 0), quit?
例 D
以下の例は、^GLOSTAT ルーチンを複数回実行した場合の出力結果です。
最初の出力の後、z を入力してカウンタを初期化し、q を入力してルーチンを終了します。一定の時間待機した後、再度ルーチンを実行し、z 入力後の処理が反映された統計データを表示します。
再び z を入力して統計データを再度初期化し、その後すぐに c を入力して初期化された統計データを表示します。c をもう一度入力すると、累積統計データが再表示されます。
%SYS>Do ^GLOSTAT
Should detailed statistics be displayed for each block type? No =>
Statistics Total
------------------------------- -------------
Global references (all): 85,414
Global update references: 23,073
Routine calls: 67,092
Routine buffer loads and saves: 477
Routine commands: 29.0
Routine not cached: 0
Logical block requests: 64,587
Block reads: 140
Block writes: 49
WIJ writes: 0
Cache Efficiency: 452
Journal Entries: 25,341
Journal Block Writes: 44
Continue (c), zero statistics (z), timed stats (# sec > 0), quit? z
Continue (c), zero statistics (z), timed stats (# sec > 0), quit? q
%SYS>Do ^GLOSTAT
Should detailed statistics be displayed for each block type? No =>
Statistics Total
------------------------------- -------------
Global references (all): 4,332
Global update references: 568
Routine calls: 3,487
Routine buffer loads and saves: 95
Routine commands: 45.0
Routine not cached: 0
Logical block requests: 1,423
Block reads: 0
Block writes: 130
WIJ writes: 4
Cache Efficiency: 33
Journal Entries: 218
Journal Block Writes: 1
Continue (c), zero statistics (z), timed stats (# sec > 0), quit? z
Continue (c), zero statistics (z), timed stats (# sec > 0), quit? c
Statistics Total
------------------------------- -------------
Global references (all): 0
Global update references: 0
Routine calls: 0
Routine buffer loads and saves: 0
Routine commands: 1
Routine not cached: 0
Logical block requests: 0
Block reads: 0
Block writes: 0
WIJ writes: 0
Cache Efficiency: no i/o
Journal Entries: 0
Journal Block Writes: 0
Continue (c), zero statistics (z), timed stats (# sec > 0), quit? c
Statistics Total
------------------------------- -------------
Global references (all): 9,362
Global update references: 1,742
Routine calls: 7,382
Routine buffer loads and saves: 96
Routine commands: 45.0
Routine not cached: 0
Logical block requests: 4,404
Block reads: 4
Block writes: 0
WIJ writes: 14
Cache Efficiency: 2,341
Journal Entries: 1,548
Journal Block Writes: 3
Continue (c), zero statistics (z), timed stats (# sec > 0), quit?
例 E
以下は、^GLOSTAT ルーチンを最初に実行した場合の出力例です。詳細な統計データは要求していません。Caché インスタンスはクライアントです。
%SYS>DO ^GLOSTAT
Should detailed statistics be displayed for each block type? No =>n
Statistics Local Remote Total
------------------------------- ------------- ------------- -------------
Global references (all): 1,558,696 0 1,558,696
Global update references: 531,676 0 531,676
Routine calls: 95,987 0 95,987
Routine buffer loads and saves: 747 0 747
Routine commands: 26.0 0 26.0
Routine not cached: 0 0 0
Logical block requests: 1,121,187 n/a 1,121,187
Block reads: 3,155 0 3,155
Block writes: 1,450 n/a 1,450
WIJ writes: 14 0 14
Cache Efficiency: 338 no gets
Journal Entries: 525,177 n/a 525,177
Journal Block Writes: 12,546 n/a 12,546
Continue (c), zero statistics (z), timed stats (# sec > 0), quit?
例 F
以下は、^GLOSTAT ルーチンを最初に実行した場合の出力例です。詳細なブロック統計データを要求しています。Caché インスタンスはクライアントです。
%SYS>DO ^GLOSTAT
Should detailed statistics be displayed for each block type? No =>y
Statistics Local Remote Total
------------------------------- ------------- ------------- -------------
Global references (all): 1,558,611 0 1,558,611
Global update references: 531,676 0 531,676
Routine calls: 95,979 0 95,979
Routine buffer loads and saves: 747 0 747
Routine commands: 45,059 0 45059
Routine not cached: 133 0 133
Cache Efficiency: 338 no gets
Journal Entries: 525,177 n/a 525,177
Journal Block Writes: 12,546 n/a 12,546
Logical Block Requests Data: 608,909
Dir: 792 Upper ptr: 2,475
BData: 81,750 Bottom ptr: 426,330
Map: 879 Other: 1 1,121,136
Physical Block Reads Data: 2,823
Dir: 11 Upper ptr: 9
BData: 240 Bottom ptr: 66
Map: 5 Other: 1 3,155
Database Physical Block Writes 1,450
WIJ Physical Block Writes 64
Blocks Queued to be Written Data: 959
Dir: 10 Upper ptr: 0
BData: 430 Bottom ptr: 38
Map: 17 Other: 7 1,461
Obj cache Hit/Miss/Load: 29,623/405/1,331
Obj OREFs newed/del: 8,617/8,604
Continue (c), zero statistics (z), timed stats (# sec > 0), quit?
例 G
以下の例は、各ブロック・タイプの詳細な統計データを要求して、^GLOSTAT ルーチンを最初に実行した後、指定した時間間隔 (30 秒) における 1 秒あたりの統計データを示しています。Caché インスタンスは、スタンドアロン構成またはサーバ構成のいずれかです。
%SYS>Do ^GLOSTAT
Should detailed statistics be displayed for each block type? No =>y
Statistics Total
------------------------------- -------------
Global references (all): 50,818
Global update references: 8,920
Routine calls: 25,279
Routine buffer loads and saves: 1,027
Routine commands: 4,059
Routine not cached: 13
Cache Efficiency: 100
Journal Entries: 236
Journal Block Writes: 4
Logical Block Requests Data: 16,375
Dir: 1,760 Upper ptr: 263
BData: 165 Bottom ptr: 2,538
Map: 83 Other: 1 21,185
Physical Block Reads Data: 153
Dir: 6 Upper ptr: 5
BData: 165 Bottom ptr: 38
Map: 4 Other: 1 372
Database Physical Block Writes 134
WIJ Physical Block Writes 64
Blocks Queued to be Written Data: 104
Dir: 6 Upper ptr: 0
BData: 0 Bottom ptr: 29
Map: 9 Other: 5 153
Obj cache Hit/Miss/Load: 29,623/405/1,331
Obj OREFs newed/del: 8,617/8,604
Continue (c), zero statistics (z), timed stats (# sec > 0), quit? 30
Counts per Second for 30 Seconds...
Statistics (per second) Total
------------------------------- -------------
Global references (all): 4,232.7
Global update references: 1,453.4
Routine commands: 446.8
Routine buffer loads and saves: 14.1
Cache Efficiency: 507.9
Journal Entries: 33.3
Journal Block Writes: 0.1
Logical Block Requests Data: 909.8
Dir: 15.6 Upper ptr: 21.3
BData: 0.2 Bottom ptr: 589.3
Map: 1.3 Other: 0 1,537.5
Physical Block Reads Data: 6.8
Dir: 0 Upper ptr: 0
BData: 0.2 Bottom ptr: 0.1
Map: 0 Other: 0 7.1
Database Physical Block Writes 1.2
WIJ Physical Block Writes 134
Blocks Queued to be Written Data: 2.6
Dir: 0.0 Upper ptr: 0
BData: 0 Bottom ptr: 0.2
Map: 0.1 Other: 0 2.9
Obj cache Hit/Miss/Load: 3,963/36/1,37
Obj OREFs newed/del: 792/2,59
Continue (c), zero statistics (z), timed stats (# sec > 0), quit?