データベースキャッシュおよびルーチンキャッシュの最適値を設定したいです

データベースキャッシュおよびルーチンキャッシュをモニターし、最適値を調べる方法をご紹介します。

(1) データベースキャッシュ

現状の設定値で問題ないかは、^GLOSTAT ユーティリティ のCache Efficency値(キャッシュ効率)でモニターします。
Cache Efficency 値は大きければ大きいほど良いですが、目安として100 以上であれば、設定サイズは問題ありません。

実行例)
 

%SYS>do ^GLOSTAT
Should detailed statistics be displayed for each block type? No =>
Statistics                  Local         Remote          Total
-------------------------   -----------  -------------  -------------
Global references (all):    207,538              0        207,538
(略)
Cache Efficiency:               134        no gets    <--- この値
(略)
Continue (c), zero statistics (z), timed stats (# sec > 0), quit?


こちらの値は、管理ポータルのシステムダッシュボードでも参照可能です。
[システムオペレーション] > [システムダッシュボード]

また、グローバル変数毎のデータベースバッファの使用量を確認できる ^GLOBUFFユーティリティがあります。
実行例)
 

%SYS>do ^GLOBUFF
Find which globals are using the most buffers.
Display the top <25>:
Total buffers: 19584         Buffers in use:4412
Item  Global                            Database       Percentage (Count)
1     rOBJ                              CACHELIB        24.320  (1073)
2     rOBJ                              CACHESYS        16.772  (740)
3     perf.TestD                        PERF            13.101  (578)
(略)


^GLOSTAT と ^GBLBUFF の結果をファイルに出力するものを用意しています。(zglobufreport.zip)

添付ファイルをネームスペース %SYSにインポートします。
ルーチンの以下の箇所を環境に合わせて変更してください。
 

Set logdir="C:\Intersystems\cache\mgr\" //ログファイルディレクトリ


実行例)
 

%SYS>Do ^ZGLOBUFREPORT


添付ファイルが出力ファイルの例になります。

(2) ルーチンキャッシュ

現状の設定値で問題ないかは、^GLOSTAT ユーティリティの Routine buffer loads and saves 値(ルーチンのデータベースへのI/O数)でモニターします。

60秒間の集計で20以下であれば、設定サイズは、問題ありません。

実行例)
 

%SYS>d ^GLOSTAT
Should detailed statistics be displayed for each block type? No =>
Statistics                   Local          Remote          Total
--------------------------   -------------  ------------- -------------
Global references (all):        479,434              0        479,434
(略)
Continue (c), zero statistics (z), timed stats (# sec > 0), quit?  60

Counts per Second for 60 Seconds...
Should detailed statistics be displayed for each block type? No =>
Statistics                   Local          Remote          Total
--------------------------   -------------  ------------- -------------
=>Routine buffer loads and saves:       12              0            12


ルーチンキャッシュの使用状況をファイルに出力するものを用意しています。(zroubufreport.zip)

添付ファイルをネームスペース %SYSにインポートします。
ルーチンの以下の箇所を環境に合わせて変更してください。
 

 Set logdir="C:\Intersystems\cache\mgr\" //ログファイルディレクトリ


実行例)
 

%SYS>Do ^ZROUBUFREPORT

該当する製品: Caché, Ensemble, HealthShare/Caché Based, IRIS Data Platform, HealthShare/IRIS Based, IRIS for Health
関連トピック: InterSystems製品のプロセスが使用するメモリ量を教えてください。
関連トピック:System routine buffer (# KB) shortage is detected.... のメッセージの意味と対処方法について
添付ファイル: 参考資料(zip)

アンケートにご協力をお願いします
このトピックは参考になりましたか?
このトピックに関するお問い合わせ

FAQトップに戻る