Caché は ^GLOSTAT ユーティリティを提供します。 これはグローバル動作の統計を収集し、ディスクの入出力処理に関する様々な情報を表示します。この資料では、このルーチンの使用法を説明します。 内容は以下の通りです。
Caché コントロール・パネル でも、^GLOSTAT ルーチンと同様の統計情報を提供しています。コントロール・パネルで、構成名を右クリックして [プロパティ] をクリックします。[概要] タブで [使用率] を表示します。
^GLOSTAT の実行
^GLOSTAT を実行するには、ユーザは %SYS ネームスペースにいる必要があります。ルーチン名は大文字と小文字を区別します。
  1. 以下のコマンドを入力します。
    Do ^GLOSTAT
    
  2. 以下のプロンプトが表示されます。
    Should detailed statistics be displayed for each block type? No =>
    上記で示されているように、既定は “No” です。ブロック全体の要約を表示するには Enter キーを押し (例 A)、ブロック・タイプによる詳細な統計を表示するには “Yes” とタイプして Enter キーを押します (例 B)。
  3. ^GLOSTAT ルーチンは、ユーザの要求に従って統計を表示します。Caché を開始するたびに、^GLOSTAT 統計カウンタは初期化されます。 したがって、最初の 実行の出力は、Caché の開始以後の処理を反映します。
    ^GLOSTAT の最初、およびそれに続くリポートを表示した後、以下のプロンプトが表示されます。
      Continue (c), zero statistics (z), timed stats (# sec > 0), quit?
    以下のうちの 1 つを入力して下さい。
    応答 アクション
    c 初期化後の、累積統計の最新リポートを再表示します。
    z ^GLOSTAT 統計カウンタをゼロに初期化します。
    q ^GLOSTAT ルーチンを終了します。
    # (秒数を示す正の整数) 統計を初期化し、示されている秒数の間をカウントし、1 秒あたりの平均値を報告します (例 C および G)。
  4. 規定のインターバルについての統計をリポートするには (例 D)、
    1. “z” を入力して、統計をゼロに初期化します。
    2. ユーティリティを終了する、あるいはどこにも入らないでプロンプトに残るには “q” を入力します。
    3. 希望する時間を待機します。
    4. ^GLOSTAT を終了する場合は、再度実行してください。そうでない場合は、“c” を入力して継続してください。
    5. ^GLOSTAT のリポートは、カウンタを初期化した後の処理を反映した統計を表示します。
Note:
^GLOSTAT ユーティリティは、通常 32 ビットのカウンタを使用します。 インターバルが極端に長いと、カウンタのオーバーフローが起こる可能性があります。
^GLOSTAT 統計の概要
^GLOSTAT の統計はそれぞれ、Caché が開始された後、カウンタが初期化された後、あるいは定義されたインターバルの秒数ごとに、イベントのタイプが発生した回数を表します。システム管理者のネームスペースから、いつでも ^GLOSTAT を実行することができます。多くの場合、停止中のシステムではなく、アクティブなシステムのユーティリティを実行することが重要です。
Caché のインスタンスがスタンドアロン構成や ECP サーバである場合、リポートは “Total” 列のみ表示します。ECP クライアントの場合 (つまり、リモート・データベースに接続している場合) は、“Local”“Remote”“Total” という 3 列を表示します (例 E)。
以下のテーブルは、^GLOSTAT 統計を定義します。
^GLOSTAT が生成する統計
統計 定義
グローバル参照 (すべて) グローバルへのアクセスの論理カウント (式のグローバル参照、SetKill$Data$Order$Increment$Query)。
グローバル更新参照 グローバル参照の論理カウント (SetKill$Increment)。
ルーチン呼び出し ルーチンへの呼び出し数。
ルーチンバッファの読取と保存 ZLoadZSave の結果としてロード、保存したルーチン、および実行しているルーチンの総数 (適切に調整された環境では、ほとんどのルーチンがディスクにアクセスしないでルーチン・キャッシュ・メモリによりロードされるため、この数値は緩やかに増加します。各ルーチンのロードと保存は、最大 32 KB (Unicode では 64 KB) までのデータを転送します)。
キャッシュ効率 全グローバル参照数を、物理ブロックの読み取りと書き込み数で割った値。百分率 (%) ではありません。
ジャーナル・エントリ 作成されたジャーナル・レコード数。 ジャーナル・レコードは、データベースの修正 (SetKill など)、トランザクション・イベント (TStartTCommit)、ジャーナルに保存されたその他のイベントごとに 1 つ作成されます。
ジャーナル・ブロック書込 ジャーナル・ファイルに書き込まれる 64 KB のジャーナル・ブロック数。
論理ブロック要求 グローバル・データベース・コードが読み込むデータベース・ブロック数 (適切に調整された環境では、これらの読み取りはディスクにアクセスしないで実行されます)。
物理ブロック読取 グローバル参照とルーチン参照の両方に対し、ディスクから読み取る物理データベース・ブロック (2-KB または 8-KB) の数。
物理ブロック書込 グローバル参照とルーチン参照の両方に対し、ディスクに書き込む物理データベース・ブロック (2-KB または 8-KB) の数。
書込待機ブロック ディスクへの書き込みを待機しているデータベース・ブロック (2-KB または 8-KB) の数。
オプションが選択されている場合、^GLOSTAT は、“論理ブロック要求”“物理ブロック読込”“書込待機ブロック” について、次のような詳細なブロック統計もリポートします。各カテゴリ内のすべてのブロック・タイプの総数は、右端の列に表示されます (例 F)。
ブロック・タイプは、以下の通りです。
ラベル 説明
Data データ・ブロック
Dir ディレクトリ・ブロック
Bdata 大きいデータ・ブロック (大きな文字列を含むブロック)
Map マップ・ブロック
Upper ptr 上部ポインタ・ブロック
Bottom ptr 下部ポインタ・ブロック
Other 上記に該当しないブロック (増分バックアップやストレージ割り当て情報など)
^GLOSTAT 出力の例
以下の出力例は、^GLOSTAT ユーティリティ・ルーチンを実行する際のさまざまなオプションを表します。
例 A
以下は、^GLOSTAT ルーチンを最初に実行した際の出力例です。詳細な統計は選択されておらず、Caché のインスタンスはスタンドアロン構成またはサーバ構成のどちらかです。
%SYS>Do ^GLOSTAT
 
Should detailed statistics be displayed for each block type? No =>n
 
Statistics                                Total
-------------------------------   -------------
Global references (all):              6,445,330
Global update references:             1,322,207
Routine calls:                          896,625
Routine buffer loads and saves:           9,008
Logical block requests:               2,997,805
Block reads:                             34,674
Block writes:                             1,918
Cache Efficiency:                           176
Journal Entries:                        211,164
Journal Block Writes:                       363
 
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
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
Physical Block Writes                                                   1,918
Blocks Queued to be Written   Data:                1,952
      Dir:               11   Upper ptr:               0
      BData:            317   Bottom ptr:             65
      Map:               22   Other:                   6                2,373
 
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
Logical block requests:                   696.9
Block reads:                                0.7
Block writes:                               3.2
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” をもう 1 度入力すると、累積している統計を再表示します。
%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
Logical block requests:                  64,587
Block reads:                                140
Block writes:                                49
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
Logical block requests:                   1,423
Block reads:                                  0
Block writes:                               130
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
Logical block requests:                       0
Block reads:                                  0
Block 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
Logical block requests:                   4,404
Block reads:                                  4
Block writes:                                 0
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
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
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
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
Physical Block Writes                                                   1,450
Blocks Queued to be Written   Data:                  959
      Dir:               10   Upper ptr:               0
      BData:            430   Bottom ptr:             38
      Map:               17   Other:                   7                1,461
 
Continue (c), zero statistics (z), timed stats (# sec > 0), quit?
例 G
以下の例は、最初に実行した後に、ユーザが各ブロック・タイプに対する詳細な統計を要求したときに、30 秒に指定されたインターバルの間の 1 秒あたりの ^GLOSTAT 統計を表します。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
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
Physical Block Writes                                                     134
Blocks Queued to be Written   Data:                  104
      Dir:                6   Upper ptr:               0
      BData:              0   Bottom ptr:             29
      Map:                9   Other:                   5                  153
 
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 calls:                                                          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
Physical Block Writes                                                     1.2
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
 
Continue (c), zero statistics (z), timed stats (# sec > 0), quit?