AIX® プラットフォームの問題
一部の AIX® パラメータの既定の設定は、パフォーマンスに悪影響を及ぼす可能性があります。設定および推奨事項については以下を参照してください。
I/O ペーシング・パラメータ
AIX® は、InterSystems IRIS ライト・デーモンの動作を阻害する可能性のある I/O ペーシング・アルゴリズムを実装しています。AIX® 5.2 および AIX® 5.3 では、HACMP クラスタを使用すると I/O ペーシングが自動的に有効になります。一方、AIX® 6.1 以降では、すべてのシステムで I/O ペーシングが有効となり、既定の最高水準点は以前のバージョンよりも大きくなっています。
ライト・デーモンの速度が遅い場合やライト・デーモンが停止する場合は、この最高水準点の調整が必要なことがあります。詳細は、IBM AIX ドキュメントの "ディスク入出力ペーシングOpens in a new tab" を参照してください。
IBM AIX® 6.1 以降では、最高水準点の調整は不要です。
システムへの影響について疑問点がある場合は、設定を変更する前にインターシステムズのサポート窓口Opens in a new tabまたは AIX® サプライヤまでお問い合わせください。これらの推奨事項は、JFS と Enhanced JFS (JFS2) 両方のファイル・システムに適用されます。
ファイル・システムのマウント・オプション
さまざまなマウント・オプションを使用することで作業負荷のパフォーマンスを向上させられる可能性があります。
ファイル・システムによるキャッシュが効果を発揮する、InterSystems IRIS ではない負荷 (例えば、オペレーティング・システム・レベルのバックアップやファイル・コピー) は、cio マウント・オプションにより速度が低下します。
ハード・シャットダウンやシステム・クラッシュの後の IRIS.WIJ ファイルを使用したリカバリ速度を向上させるには、IRIS.WIJ ファイルを扱うファイル・システムで、ファイル・システム・バッファリングを伴うマウント・オプション (例えば、rw) を使用することをお勧めします。
mount オプションの詳細は、IBM AIX ドキュメントの "mount コマンドOpens in a new tab" を参照してください。
メモリ管理パラメータ
ファイル・システムの数およびファイル・システムに対するアクティビティの量によって、JFS または JFS2 のメモリ構造が制限され、それらのメモリ構造を使用する I/O 処理に遅延が生じる可能性があります。
こうした状況を監視するには、vmstat -vs コマンドを実行し、2 分経過してから、もう一度 vmstat -vs コマンドを実行します。次のような結果が出力されます。
# vmstat -vs
1310720 memory pages
1217707 lruable pages
144217 free pages
1 memory pools
106158 pinned pages
80.0 maxpin percentage
20.0 minperm percentage
80.0 maxperm percentage
62.8 numperm percentage
764830 file pages
0.0 compressed percentage
0 compressed pages
32.1 numclient percentage
80.0 maxclient percentage
392036 client pages
0 remote pageouts scheduled
0 pending disk I/Os blocked with no pbuf
5060 paging space I/Os blocked with no psbuf
5512714 filesystem I/Os blocked with no fsbuf
194775 client filesystem I/Os blocked with no fsbuf
0 external pager filesystem I/Os blocked with no fsbuf
以下のパラメータが増加している場合は、InterSystems IRIS のパフォーマンスを向上するため、それらの値を大きくしてください。
-
pending disk I/Os blocked with no pbuf
-
paging space I/Os blocked with no psbuf
-
filesystem I/Os blocked with no fsbuf
-
client filesystem I/Os blocked with no fsbuf
-
external pager filesystem I/Os blocked with no fsbuf
これらのパラメータを既定値より大きくする場合は、以下の手順に従ってください。
-
現在の値を 50% 大きくします。
-
vmstat 出力を確認します。
-
2 分間隔で、vmstat を 2 回実行します。
-
フィールドがまだ増大している場合は、もう一度、パラメータ値を同じ割合だけ大きくして、上記の手順に従います。vmstat を 2 回実行したとき、フィールドが増大しなくなるまで繰り返してください。
I/O パターンは時間の経過と共に変化する可能性があるので、現在値と再起動値の両方を変更し、vmstat 出力を定期的 (時間単位、日単位、または週単位) に確認します。
詳細は、IBM の以下の Web ページを参照してください。
-
vmstat によって報告される各フィールドの詳細は、IBM AIX ドキュメントの "vmstat コマンドOpens in a new tab" を参照してください。
-
これらのパラメータ値を大きくする方法については、IBM AIX ドキュメントの "VMM ページ置換のチューニングOpens in a new tab" を参照してください。
-
I/O 調整可能パラメータの管理の詳細は、IBM AIX ドキュメントの "ioo コマンドOpens in a new tab" を参照してください。
AIX® の調整可能パラメータ
AIX® プロセス間通信の調整可能なパラメータ
以下のテーブルは、IBM pSeries AIX® 5.2 オペレーティング・システムの調整可能なパラメータの一覧です。以下に一覧表示されているパラメータは調整の必要がありません。これらのパラメータは、必要に応じて、カーネルによって動的に調整されます。詳細は、AIX ドキュメントの "プロセス間通信のチューナブル・パラメーターOpens in a new tab" を参照してください。
パラメータ | 目的 | 動的値 |
---|---|---|
msgmax | 最大メッセージ・サイズを指定します | 最大値 4 MB |
msgmnb | キューでの最大バイト数を指定します | 最大値 4 MB |
msgmni | メッセージ・キュー ID の最大数を指定します | 最大値 4096 |
msgmnm | キューごとの最大メッセージ数を指定します | 最大値 524288 |
semaem | 終了の調整最大値を指定します | 最大値 16384 |
semmni | セマフォ ID の最大数を指定します | 最大値 4096 |
semmsl | ID ごとの最大セマフォ数を指定します | 最大値 65535 |
semopm | semop() 呼び出しごとの最大操作数を指定します | 最大値 1024 |
semume | プロセスごとの最大 undo エントリ数を指定します | 最大値 1024 |
semvmx | セマフォの最大値を指定します | 最大値 32767 |
shmmax | 共有メモリ・セグメントの最大サイズを指定します | 32 ビット・プロセスでは最大値 256 MB、64 ビットでは最大値 0x80000000u |
shmmin | 共有メモリ・セグメントの最小サイズを指定します | 最小値 1 |
shmmni | 共有メモリ ID の最大数を指定します | 最大値 4096 |
maxuproc
maxuproc は、root 以外の単独ユーザが開始可能なプロセスの最大数を指定する調整可能パラメータで、このサブセクションの説明に従って調整できます。
このパラメータの設定が低すぎると、プロセスの開始を試みるユーザがさらに増えた場合に、CSP ページの消失、バックグラウンド・タスクの失敗など、オペレーティング・システムのさまざまなコンポーネントで障害が起こる可能性があります。したがって、maxuproc パラメータは、root ユーザ以外 (インタラクティブ・ユーザ、Web サーバ・プロセスなど、プロセスを開始可能なものすべて) による開始が見込まれるプロセスの最大数よりも大きく設定する必要があります。
この値を過度に高く設定しないでください。この値には不必要に新規プロセスを作成し続ける暴走アプリケーションからサーバを保護する目的があります。しかし、設定が低すぎると不明な問題の原因になります。
maxuproc を予想される最大プロセス数の倍にして、エラーを起こさないだけの余裕をとりつつ、暴走プロセスから保護することをお勧めします。例えば、システムに 1000 人のインタラクティブ・ユーザがいて、頻繁に 500 個のバックグラウンド・プロセスを実行する場合、この値は最低でも 3000 を選択するとよいでしょう。
maxuproc 値は、コマンド行もしくは smit/smitty 管理者用ユーティリティのいずれかより、以下のように双方共に root ユーザとして検証および変更ができます。
-
コマンド行より、現在の設定を表示します。
# lsattr -E -l sys0 -a maxuproc
次に、以下のように値を変更します。
# chdev -l sys0 -a maxuproc=NNNNNN
ここで、NNNNNN は新規の値です。
-
管理者用ユーティリティ smit (または smitty) で、[システム環境]→[オペレーティングシステム特性の変更/表示]→[ユーザあたりの許容プロセス最大数] を選択します。
maxuproc の値を増やすと、変更は瞬時に有効となります。maxuproc の値を減らすと、変更は次回のシステムの再起動まで有効になりません。どちらの場合も、変更はシステムを再起動しても存続します。
必須の C/C++ ランタイム・ライブラリ
InterSystems IRIS をインストールする前に、必須の C/C++ ランタイム・ライブラリが IBM AIX® システムにインストールされていることを確認する必要があります。
InterSystems IRIS for AIX は、IBM XL C/C++ for AIX 16.1.x および 17.1.x コンパイラを使用してコンパイルされます。InterSystems IRIS のインストール先のシステムに、既にインストールされているランタイムに対応するバージョンがない場合は、インストールする必要があります。最新の 16.1.x および 17.1.x ランタイムは、IBM Support Web サイトの "Fix list for XL C/C++ Runtime for AIX 16.1Opens in a new tab" からダウンロードできます。
InterSystems IRIS 共有ライブラリ・サポートに対する共有ライブラリ環境変数
InterSystems IRIS 共有ライブラリ・サポートには、インストールされたすべての C リンカを参照するバッチ・ファイルが含まれています。
標準 UNIX® C ライブラリまたは独自の C ライブラリを LIBPATH 環境変数で定義した環境が必要です。
このような定義がない環境では、標準 UNIX® C ライブラリのパスである /usr/lib と /lib を LIBPATH に追加します。
Raw Ethernet の使用法
Raw Ethernet を使用するには、IBM AIX® マシンに DLPI (データ・リンク・プロバイダ・インタフェース) パッケージがインストールされている必要があります。マシンに DLPI パッケージがない場合、IBM プロバイダから取得し、以下の手順に従って DLPI デバイスを作成してください。
-
root としてログインします。
-
/etc/pse.conf ファイルの PSE ドライバ・セクションで、DLPI ドライバを参照している 4 行をアンコメントします。
-
ファイルを保存します。
-
コンピュータを再起動します。
DLPI デバイスがインストールされていない場合、%SYSTEM.INetInfoOpens in a new tab クラスの EthernetAddress() メソッドは、イーサネット・デバイスの情報ではなく、NULL 文字列を返します。