routines
構文
[config] routines=n ; This is the format for single-value automatoc allocation.
[config] routines=n1, n2, n3, n4, n5, n6 ; This is the format for multiple-value manual allocation.
このパラメータの既定値は routines=0 です。この設定では、globals パラメータによってデータベース・キャッシュで 8 KB のグローバル・バッファに割り当てられているメモリの 10% に等しいメモリが割り当てられます (最小 80 MB、最大 1 GB)。
説明
routines パラメータは、ルーチンのバッファリング用に割り当てるメモリの量を指定します。メモリの合計量は、バッファ・サイズが異なる (2 キロバイトから 64 キロバイト) 6 つのプールで共有されます。
ルーチン・バッファ・プールは 2 つの方法のいずれかで構成できます。その方法とは、単一値を指定して自動割り当てする方法か、複数値を指定してバッファを手動で割り当てる方法です。一般的なプロダクション・インスタンスの場合は、自動割り当てで十分です。ただし、指定されたアプリケーションの理想的な割り当てはさまざまな要素によって異なるため、パフォーマンスを最適化するには調整が必要となる場合があります。
自動 (単一値) バッファ割り当て
InterSystems IRIS® データ・プラットフォームがルーチン・バッファに割り当てるメガバイトの合計数として、単一値 n を指定できます。最小のサイズは 80 MB です。これより小さい値を指定すると、インスタンスによって最大で 80 MB に調整されます。値 0 (既定値) を指定すると、globals パラメータによってデータベース・キャッシュで 8 KB のグローバル・バッファに割り当てられているメモリの 10% に等しいメモリが割り当てられます (最小 80 MB、最大 1020 MB)。
InterSystems IRIS によって、このメモリが 4 KB、16 KB、64 KB の各バッファ・プール間で以下のように分割されます。
-
4 KB バッファに 12.5%
-
16 KB バッファに 37.5%
-
64 KB バッファに 50%
例えば、routines=500 を指定した場合、InterSystems IRIS は以下を作成します。
-
16,000 個の 4 KB バッファ (62.5 MB)
-
12,000 個の 16 KB バッファ (187.5 MB)
-
4,000 個の 64 KB バッファ (250 MB)
手動 (複数値) バッファ割り当て
ルーチン・バッファ・プールごとに割り当てるメモリの量を指定することができます。その場合は、6 つすべての値を指定する必要があります。6 つに満たない場合、InterSystems IRIS は、指定された最初の値を使用して上述の自動形式に戻ります。6 つの値は以下を表します。
-
n1 は 2 KB のルーチン・バッファに割り当てる MB 値です。
-
n2 は 4 KB のルーチン・バッファに割り当てる MB 値です。
-
n3 は 8 KB のルーチン・バッファに割り当てる MB 値です。
-
n4 は 16 KB のルーチン・バッファに割り当てる MB 値です。
-
n5 は 32 KB のルーチン・バッファに割り当てる MB 値です。
-
n6 は 64 KB のルーチン・バッファに割り当てる MB 値です。インスタンスは n6 の値に関係なく、常に少なくとも 430 の 64 KB のルーチン・バッファを割り当てます。
例えば、routines=0,128,128,0,0,800 を指定した場合は以下のように作成されます。
-
128 MB に 4 KB バッファ
-
128 MB に 8 KB バッファ
-
800 MB に 64 KB バッファ
64 KB を除き、特定のサイズのバッファを 0 個にすることはできますが、0 よりも大きい次の最小値は 430 になります。これより小さい数を指定しても、インスタンスによって 430 個のバッファが割り当てられます。バッファの合計最大数は 33,554,432 です。InterSystems IRIS ルーチンのフォーマットでは、最大ルーチン・サイズの設定にかかわらず、リテラル文字列に 32,768 文字を超える文字数を使用することはできません。
このパラメータの変更
ルーチン・キャッシュへのメモリの割り当て (管理ポータルを使用した割り当てなど) の詳細は、"データベース・キャッシュおよびルーチン・キャッシュへのメモリの割り当て" を参照してください。
Config.configOpens in a new tab クラスを使用するか、CPF を編集することによって、routines を変更することもできます。