2012年12月3日月曜日

AIX システムの調整

このトピックでは、ご使用の WebSphere(r) Application Server のパフォーマンスを最適化するための AIX(r) オペレーティング・システムの調整方法について説明します。

このタスクについて
要求に合わせて Websphere のパフォーマンスを調整するために設定可能な構成変更および変数が多数あります。AIX オペレーティング・システムは WebSphere Application Server 製品ではないため、変更される可能性があり、結果が変わる場合があることに注意してください。
手順
要求に応じて、以下の構成設定または変数を変更します。
TCP_TIMEWAIT
説明: TCP/IP が、クローズされた接続を解放し、そのリソースを再利用するまでの経過時間を判断します。クローズと解放との間隔は、TIME_WAIT 状態、またはセグメントの最大存続時間の 2 倍 (2MSL) 状態として知られています。この期間中は、新しく接続を確立するよりも、クライアントとサーバーへの接続を再オープンしたほうが、負担が軽くて済みます。 この項目の値を減らすと、TCP/IP はクローズされた接続を迅速に解放して、 より多くのリソースを新しい接続に提供することができます。実行中のアプリケーションが、接続の迅速な 解放、または新しい接続の作成を必要とする場合、あるいは TIME_WAIT 状態の 接続が多すぎるためにスループットが低い場合は、このパラメーターを調整してください。
表示または設定の方法:
以下のコマンドを発行し、TCP_TIMEWAIT 状態を 15 秒に設定します。
/usr/sbin/no -o tcp_timewait =15
AIX オペレーティング・システムでの DB2(r)
説明: 物理データベース・ファイルから DB2 ログ・ファイルを分離することにより、パフォーマンスを向上させることができます。 ログおよびデータベース・ファイルを、Journaled File System (JFS) サービスを含むドライブから分離することもできます。AIX は固有のボリューム・グループおよびファイル・システムを使用して JFS のロギングを行います。
表示または設定の方法: AIX の filemon ユーティリティーを使用して、すべてのファイル・システムの入出力を表示し、DB2 ログ・ファイル用のファイル・システムを戦略的に選択します。DB2 ロギング情報に従って、DB2 ログの場所を設定します。
デフォルト値: DB2 ログ・ファイルのデフォルト・ロケーションはたいてい、データベース・テーブルが保管されているのと同じディスク・ドライブとなります。
推奨値: ファイルを DB2 データとは別の、入出力アクティビティーが最小であるディスクに移動してください。
AIX ファイル記述子 (ulimit)
説明: そのユーザー・アカウントのリソースの使用に対する各種制限を指定します。ulimit -a コマンドは、 許可されるオープン・ファイルの数を含むすべての ulimit 制限を表示します。ほとんどのアプリケーションについては、 通常はオープン・ファイルの数のデフォルト設定 (2000) のままで十分です。このパラメーターに設定した値が低すぎると、ファイルを開いたとき、または接続を確立したときに エラーが発生する場合があります。 この値はサーバー・プロセスが開くファイル記述子の数を制限するため、 低すぎる値は最適なパフォーマンスを妨げる可能性があります。
表示または設定の方法: 以下のステップを実行して、オープン・ファイルの最大数を 10,000 ファイルに変更します。
コマンド・ウィンドウを開きます。
/etc/security/limits ファイルを編集します。WebSphere Application Server プロセスを実行するユーザー・アカウントに次の行を追加します。
nofiles = 10000
nofiles_hard = 10000
変更を保存します。
AIX システムを再始動します。
結果を検証するには、コマンド行に ulimit -a コマンドを入力します。
デフォルト値: AIX オペレーティング・システムの場合、デフォルト設定値は 2000 です。
推奨値: この値はアプリケーションに依存しており、アプリケーション・プログラム・データおよびアプリケーション・スタックにのみ適用されます。
ulimit ファイル記述子を増やすと、 パフォーマンスが向上します。アプリケーションによっては、 他の制限も増やす必要がある場合もあります。データまたはスタック ulimits を変更する場合は、data+stack < 256MB となるようにしてください (32 ビット WebSphere Application Server の場合のみ)。

データの ulimit を 「unlimited」 に変更することをお勧めします。

AIX TCP_KEEPIDLE
説明: keepAlive パケットにより、接続は active/ESTABLISHED 状態となります。
表示または設定の方法: no コマンドを使用して、現行値を判別するか、 値を設定します。この変更は、次にマシンを再始動するまで有効です。 値を永続的に変更する場合は、 no コマンドを /etc/rc.net ディレクトリーに追加します。以下に例を示します。
no -o tcp_keepidle=600
デフォルト値: 14400 (0.5 秒単位、2 時間)。
推奨値: 600 (0.5 秒単位、5 分間)。
TCP_KEEPINTVL
説明: 接続を検証するために送信されるパケット間の間隔を指定します。
表示または設定の方法: 以下のコマンドを使用して、値を 5 秒に設定します。
no -o tcp_keepintvl=10
デフォルト値: 150(1/2 秒)
推奨値: 10(1/2 秒)
TCP_KEEPINIT
説明: TCP 接続の初期タイムアウト値を指定します。
表示または設定の方法: 以下のコマンドを使用して、値を 20 秒に設定します。
no -o tcp_keepinit=40
デフォルト値: 150(1/2 秒)
推奨値: 40 (1/2 秒)
Java(tm) 仮想マシン・ヒープにラージ・ページ (16 MB) を割り振る
一部のアプリケーションでは、最適なパフォーマンスのために非常に大きなヒープを必要とします。 CPU とオペレーティング・システムによって提供されるラージ・ページのサポートを使用して、 大きなヒープを管理する CPU オーバーヘッドを削減します。 以下のステップでは、ラージ・ページ (16 MB) として 4 GB の RAM を割り振ります。
root ユーザーとして以下のコマンドを実行し、4 GB のラージ・ページを予約します。
vmo -r -o lgpg_regions=256 -o lgpg_size=16777216
bosboot -ad /dev/ipldevice
reboot -q
リブート後、以下のコマンドを実行して、AIX オペレーティング・システムでのラージ・ページのサポートを有効にします。
vmo -p -o v_pinshm=1
root ユーザーとして、ユーザーに以下の機能を追加します。
chuser capabilities=CAP_BYPASS_RAC_VMM,CAP_PROPAGATE $USER
Java コマンドに -Xlp Java オプションを追加します。
「サーバー」 > 「サーバー・タイプ」 > 「WebSphere Application Server」 > 「server_name」をクリックします。
「サーバー・インフラストラクチャー」の下で、「Java およびプロセス管理」>「プロセス定義」>「Java 仮想マシン」とクリックします。
「汎用 JVM 引数」フィールドに、-Xlp を追加します。
EXTSHM カスタム・プロパティーを追加し、OFF に設定します。
「サーバー」 > 「サーバー・タイプ」 > 「WebSphere Application Server」 > 「server_name」をクリックします。
「サーバー・インフラストラクチャー」の下で、「Java およびプロセス管理」>「プロセス定義」>「環境エントリー」>「新規」とクリックします。
「名前」フィールドに、EXTSHM と入力します。
「値」フィールドに、OFF と入力します。
以下のコマンドによって、ラージ・ページのサポートが使用されていることを確認します。
vmstat -l 1
注: 「alp」列は、アプリケーション実行時はゼロ以外です。
ラージ・ページを有効にすると、重大な影響をもたらす場合があります。ラージ・ページについて詳しくは、AIX ラージ・ページに関する情報を参照してください。

ラージ・ページを使用しないで、ミディアム・ページを使用する方法もあります。ミディアム・ページ・サイズ・オプションはラージ・ページと同じようなもので、 ほぼ同じパフォーマンスが得られます。 ただし、ミディアム・ページでは、特定の ユーザーまたはプロセス用に物理メモリーを予約するという問題がありません。 詳しくは、Java 仮想マシンの調整に関する情報を参照してください。

0 件のコメント:

コメントを投稿