チューニング・パラメーターのホット・リスト
以下のホット・リストの推奨に従えば、多くのアプリケーションのパフォーマンスまたはスケーラビリティー、 あるいはその両方が改善されます。
- ハードウェアおよびソフトウェア要件の検討
正常な機能性とパフォーマンスを実現するためには、ハードウェアおよびソフトウェアの最小要件を満たすことが重要です。ハードウェアおよびソフトウェアの要件については、Web サイト IBM® WebSphere Application Server supported hardware, software, and APIs を参照してください。
最新のリフレッシュ・パック、フィックスパック、および推奨されるインテリム・フィックスをインストールします。
推奨される更新のリストは、サポート・サイトに記載されています。
- ハードウェア構成と設定値の確認
ネットワーク接続をチェックして、最高速度で実行されていることを確認します。 詳しくは、アプリケーション・サービス提供環境のチューニングを参照してください。
ネットワーク相互接続とハードウェア構成が、パフォーマンスが最大になるようにセットアップされていることを確認します。
オペレーティング・システムの調整
オペレーティング・システム構成は、パフォーマンス上重要なロールを担っています。 例えば、アプリケーションの TCP/IP パラメーターなどの調整が必要になることがあります。
IBM i システムの調整
オペレーティング・システム構成は、パフォーマンス上重要なロールを担っています。 例えば、アプリケーションの TCP/IP パラメーターなどの調整が必要になることがあります。
IBM Power Systems Performance Capabilities Reference IBM i operating system Version 7.2
- Java™ 仮想マシン (JVM) の最小および最大のヒープ・サイズの設定
アプリケーションが最高のパフォーマンスを発揮するためには、多くの場合デフォルトより大きなヒープ・サイズを必要とします。 アプリケーションの特性に基づいて適切な GC ポリシーを選択することをお勧めします。
タイプ 4 (または Pure Java) JDBC ドライバーの使用
一般には、データベースが WebSphere インスタンスと同じ物理マシン上に存在する場合は、タイプ 2 JDBC ドライバーが推奨されています。ただし、データベースが別の層にある場合は、タイプ 4 JDBC ドライバーが最も高速なパフォーマンスを提供します。これは、タイプ 4 JDBC ドライバーがネイティブ実装を必要としない Pure Java であるためです。データベース・ベンダー固有の要件のリストを表示するには、前記のリンクを使用してください。このリストにより、タイプ 4 JDBC ドライバーがご使用のデータベースに対してサポートされているかどうかを知ることができます。
ローカル・データ・アクセスでのタイプ 2 JDBC ドライバーの使用およびリモート・データ・アクセスでのタイプ 4 (または Pure Java) JDBC ドライバーの使用
一般には、タイプ 2 JDBC ドライバーが推奨されています。 データベース・ベンダー固有の要件のリストを表示するには、前記のリンクを使用してください。このリストにより、タイプ 4 JDBC ドライバーがご使用のデータベースに対してサポートされているかどうかを知ることができます。
WebSphere Application Server JDBC データ・ソースおよび関連した接続プールの調整
JDBC データ・ソース構成は、パフォーマンスに重大な影響を及ぼす場合があります。例えば、接続プール・サイズおよび準備済みステートメント・キャッシュは、 処理される並行要求の数およびアプリケーションの設計に基づいてサイズ変更される必要があります。
詳しくは、接続プールのトピックを参照してください。
参照による受け渡しオプションの使用可能化
参照による受け渡しオプションを利用して、パラメーターをスタックにコピーするコストを回避できるアプリケーションを使用します。
- トランザクション・ログが高速ディスクに割り当てられていることの確認
一部のアプリケーションは、トランザクション・ログへの高速の書き込みを生成します。 トランザクション・ログを高速ディスクまたはディスク・アレイへ配置することによって、応答時間を改善できます。
- 関連したコンポーネント (データベースなど) を調整します。
多くの場合、その他のいくつかのコンポーネント、例えばデータベースでは、構成全体でより高いスループットを達成するための調整が必要です。
- 不要な機能の無効化
例えば、アプリケーションで Web サービス・アドレッシング (WS-Addressing) のサポートを使用しない場合は、この機能を無効にすることでパフォーマンスが向上します。
重要: アプリケーションで WS-Addressing MAP が 正しく機能する必要があるため、 このプロパティーは慎重に使用してください。 このプロパティーを設定すると、Web Services アトミック・トランザクション、Web Services Business Agreement、および Web Services Notification の仕様に対する WebSphere Application Server サポートも使用不可になります (これは、WS-Addressing サポートの内容によって異なります)。
WS-Addressing のサポートを使用不可に するには、JAX-RPC アプリケーションに対する Web サービス・アドレッシング・サポートの使用可能化を参照してください。
インデックスの調整
製品のプログラミング・モデルおよびランタイムの目標の 1 つは、アプリケーション開発者がアプリケーションの作成およびデプロイを行うために必要な作業を大幅に単純化することです。 製品は、アプリケーション開発に関係する多くの配管タスクを、アプリケーション・プログラマーから取り除きます。 例えば、製品のアプリケーション・コードの場合、コードは遠隔通信には直接関与せず、ローカルまたはリモートのオブジェクトを位置指定して、メソッドを駆動します。 そのため、このアプリケーション・コードで、ソケット呼び出しまたは TCP/IP プログラミングを直接使用することはありません。
実行内容と実行場所の分離は、アプリケーション・プログラマーから配管タスクを除去する 1 つの特徴です。 他の考慮事項は、いくつかのタイプの Bean のデータ呼び出しを処理する必要がないことであり、ユーザー認証 およびスレッド化を処理する必要もない可能性があります。通常、 アプリケーション・コードからタッチ・ソケット、RACF® 呼び出し、スレッド化の管理への呼び出しは行いません。 アプリケーション・プログラマーからこれを取り除くと、この作業が終了しないという意味ではありません。 むしろ、DBA、ネットワーク管理者、 セキュリティー管理者、およびパフォーマンス分析者の作業が増える可能性があることを意味します。
アドレッシングする必要のあるチューニングには 4 つの段階があります。最初の 3 つは、この項目の別のセクションで取り扱い、4 つ目については簡単に触れます。 アプリケーションのチューニングについて詳しくは、アプリケーション・クライアントの使用を参照してください。
サブシステムのチューニング
製品のパフォーマンスを最適化するための z/OS サブシステムのチューニングでは、以下のステップを行います。
製品ランタイムのチューニング
パフォーマンスを最適化するための製品ランタイムのチューニングでは、以下を確認します。製品構成の検討
まず最初に行うことは、製品の構成を検討することです。簡単な方法として、SDSF においてアプリケーション制御領域とサーバー領域を調べます。各サーバーが開始すると、ランタイムは現行の構成データをジョブ・ログに出力します。
製品の内部トレースのヒント
製品トレースは、問題の検出および診断において非常に役立ちます。 トレース・オプションを適切に設定することにより、重大なパフォーマンス・オーバーヘッドなしで、 問題を検出するために必要な情報を取り込むことができます。
- 必要以上の診断データを収集していないことを確認してください。
トレース・オプションを検査し、ras_trace_defaultTracingLevel プロパティーが 0 または 1 に設定されていること、そして ras_trace_basic および ras_trace_detail プロパティーが設定されていないことを確認します。
表示または設定の方法: 管理コンソールで、以下を行います。- をクリックします。
- 「構成」タブの「名前」フィールドでこれらのプロパティーをすべて検査し、「値」フィールドでプロパティーの設定値を調べます。
- これらのプロパティーのいずれかの設定値を変更するには、「名前」フィールドでプロパティー名をクリックし、次に「値」フィールドに新規の設定値を指定します。 このタブの「説明」フィールドに、設定の説明を記述することもできます。
- これらのプロパティーのいずれかを追加するには、「新規」をクリックし、次にプロパティー名を「名前」フィールドに、プロパティー設定値を「値」フィールドに指定します。
- いずれかのレベルのトレース (ras_trace_defaultTracingLevel=1 など) を使用する場合は、ras_trace_outputLocation プロパティーが BUFFER に設定されていることを確認します。
ras_trace_defaultTracingLevel property を 1 に設定すると、例外がトレース・ログのほか、ERROR ログにも書き込まれます。
- CTRACE にトレースを送信するのが最善です。
ras_trace_defaultTracingLeve を 3 に設定して、SYSPRINT にトレースを送信している場合、ほぼ 100% のスループット低下が発生する可能性があります。 しかし、CTRACE にトレースを送信すると、スループットの低下が 15% で済む場合があります。
- CTRACE にトレースを送信するのが最善です。
- ras_trace_BufferCount プロパティーを 4 に設定し、ras_trace_BufferSize プロパティーを 128 に設定します。
この設定により、トレース・バッファーに対して 512 KB のストレージ (許容される最低限のストレージ) が予約され、メモリー所要量が削減されます。
- JRAS トレースを使用不可にします。
JRAS トレースを使用不可にするには、JVM プロパティー・ファイルが指す trace.dat ファイルで以下の行を探します。
どちらの行も disable に設定されていることを確認するか、またはこの 2 行を削除します。com.ibm.ejs.*=all=disable com.ibm.ws390.orb=all=disable
注: ras_trace_outputLocation プロパティーに対して値が指定されている場合、気付かずにトレースを行っている可能性があります。
- 必要以上の診断データを収集していないことを確認してください。
実行可能プログラムの場所に関するヒント
次に構成で検討するものは、ご使用のプログラム・コードがある場所についてです。 IBM は、妥当な限り多くの製品コードを LPA にインストールすることをお勧めします。 これによって、パフォーマンスに悪影響を及ぼす不必要な STEPLIB を除去します。 STEPLIB を使用する必要がある場合、コントローラーとサーバント proc の STEPLIB DD が 不必要なライブラリーを指していないかを確認します。USS ファイル共有システムのチューニング考慮事項については、z/OS 用の UNIX システム・サービス (USS) チューニング・ヒントを参照してください。
ほとんどのランタイムを LPA に置かない場合、ご使用のプロセッサー・ストレージで、ロードの増加に伴い負荷が高くなる場合があります。 最小で、製品は 3 つのアドレス・スペースを開始し、共有されていないコードは 1 つではなく 3 つのコピーをロードします。 ロードが増加するにつれて、より多くのサーバントが開始し、プロセッサー・ストレージへの負荷を増大させる原因となります。
PATH ステートメントを検討し、必要なプログラムのみが PATH に入るように して、頻繁に参照されるプログラムが前から順番に PATH に配置されるようにします。
J2EE アプリケーションのチューニング
J2EE アプリケーション・パフォーマンスのチューニングでは、以下のステップを行います。- アプリケーション設計の検討
アプリケーション設計までさかのぼって、パフォーマンス上の問題の多くを追跡することができます。 設計がパフォーマンス上の問題の原因となっているかどうかを検討します。
- CDI の動作の変更
デフォルトでは、CDI 1.2 はすべてのアプリケーション・アーカイブをスキャンします。CDI 1.2 では、特に大規模なアプリケーションの起動時間が大幅に増加する可能性があります。アノテーションに対する暗黙的アーカイブのスキャンを使用不可にするには、システム・プロパティー enableImplicitBeanArchives を false に設定します。この設定により、アーカイブに beans.xml ファイルが含まれていない限り、アーカイブのスキャンがスキップされます。