ある特定の利用者が資源を膨大に使い、全体の資源を枯渇させることによって、他の正当な利用者の処理実行を妨げるという脅威を防ぐために、各利用者が使用できる資源量を制御する機能です。
Symfoware Serverが資源を獲得しようとして、その資源が使い尽くされて獲得できない場合があります。この時、不当に資源を使用しているのがSymfoware Server以外のプロセスの場合と、Symfoware Server自身の場合があります。前者は、利用者がログインして不当なプログラムを実行した場合で、後者は利用者がSymfoware Serverの機能を不当に使用している場合です。
図2.4 実行資源の制御機能
Symfoware Serverが資源量を制御しているものは、以下があります。
利用者数
メモリ
ファイル
トランザクション資源
処理時間
これらに対して、実行資源量を制限する方法としては、以下の2つの視点から考えてください。
利用者のプロセスに対してOSの機能を用いて制限する必要のあるもの
Symfoware Serverの機能で制限する必要のあるもの
1人の利用者が同時に接続可能なコネクション数
1つのコネクションで使用可能なメモリ量
1つのコネクションで使用可能な作業用ファイルの量
1つのコネクションで使用可能な作業用ファイルの数
1つのトランザクションで使用可能な時間
1つのトランザクションで使用可能なトランザクション用メモリ量
アプリケーションの無応答待ち時間
Symfoware Serverの機能で資源へのアクセス制限は、SET SYSTEM PARAMETER文を使ってセキュリティパラメタをチューニングすることで行います。
実行資源の制御方法について以下の表に示します。
制限する資源 | Symfoware Serverの機能で制限する方法 | セキュリティ | OSの機能で制限 |
---|---|---|---|
利用者数 | 1人の利用者が同時に接続可能なコネクション数 | MAX_CONNECTION | カーネル編集ファイルで仮想端末数を調整
|
メモリ | 1つのコネクションで使用可能なメモリ量 | MAX_MEMORY_USE | ulimitコマンド |
ファイル | 1つのコネクションで使用可能な作業用ファイルの量 | MAX_WORKFILE_USE | ulimitコマンド |
1つのコネクションで使用可能な作業用ファイルの数 | MAX_WORKFILE_NUM | ||
トランザクション資源 | 1つのトランザクションで使用可能な時間 | MAX_TRAN_TIME | なし |
1つのトランザクションで使用可能なトランザクション用メモリ量 | MAX_TRAN_MEM | ||
処理時間 | アプリケーションの無応答待ち時間 | MAX_WAIT_TIME | なし |
セキュリティパラメタの詳細については、“2.5 セキュリティパラメタのチューニング”を参照してください。