Sun Java System Application Server Enterprise Edition 8.2 パフォーマンスチューニングガイド

一般的なチューニングの概念

パフォーマンスチューニングに影響する重要な概念には、次のものがあります。

次の表で、これらの概念と実際の測定方法を説明します。左端の列では一般的な概念を示し、2 番目の列にはその概念を実行した場合の結果を示します。3 番目の列では測定値、右端の列では値のソースを説明します。

表 1–2 パフォーマンスに影響する要因

概念 

実行した場合の結果 

測定値 

値のソース 

ユーザー負荷

ピーク負荷時の同時セッション数 

毎分トランザクション数 (TPM) 

毎秒 Web インタラクション数 (WIPS) 

(最大同時ユーザー数) * (予測応答時間) / (クリック間隔) 

例: 

(100 ユーザー * 2 秒) / 10 秒 = 20 

アプリケーションのスケーラビリティー

1 個の CPU 上で測定されるトランザクション率 

TPM または WIPS 

負荷ベンチマークから測定されます。各層で実行します。 

垂直方向のスケーラビリティー 

CPU の追加によるパフォーマンス上昇 

追加 CPU あたりの上昇率 

ベンチマークからの曲線の当てはめに基づくCPU 数を段階的に増やしながらテストを実行します。曲線の「転換点」を識別します。これは、CPU の追加によるパフォーマンス上昇効果がコストに見合わなくなるポイントです。このガイドの説明に従ったチューニングが必要です。各層で実行し、必要であれば反復します。この測定値がパフォーマンス要件を満たしていればここで中止します。 

水平方向のスケーラビリティー 

サーバー の追加によるパフォーマンス上昇 

サーバープロセスやハードウェアノードの追加あたりの上昇率 

前のステップと同様に、十分に調整された単一のアプリケーションサーバーインスタンスを使用します。サーバーインスタンスおよびハードウェアノードを 1 つ追加するたびにパフォーマンスがどれだけ改善されるかを測定します。 

安全性マージン

高可用性要件 

システムが障害に対処する必要がある場合、1 つ以上のアプリケーションサーバーインスタンスの機能停止を想定したパフォーマンス要件を満たすようにシステムのサイズを決定する 

高可用性が必要な場合は、使用する等式が異なります。 

 

想定を超えたピーク時の超過容量 

ある程度の安全マージンを確保するために、ベンチマークで測定されたピークよりも低い負荷でサーバーを運用することが望ましい 

ピーク負荷の 80% のシステム容量利用は、ほとんどのインストールで適切です。現実のピーク負荷およびシミュレートされたピーク負荷の各条件下で配備を測定します。 

容量計画

これまでの説明では、配備アーキテクチャーの定義に向けた指針を示しました。ただし、配備の実際のサイズは、「容量計画」と呼ばれるプロセスによって決定します。容量計画では、次のことを予測します。

これらの値を予測するには、現実的なデータセットおよび作業負荷を用意したアプリケーションを使用して、入念なパフォーマンスベンチマーク測定を行います。

Procedure容量を決定する

  1. 1 個の CPU 上でのパフォーマンスを特定する。

    まず、1 個のプロセッサで持続できる最大の負荷を特定します。この数値は、シングルプロセッサマシン上でアプリケーションのパフォーマンスを測定することによって入手できます。類似の処理特性を持つ既存のアプリケーションのパフォーマンス数値を利用するか、より理想的な方法として、テスト環境で実際のアプリケーションおよび作業負荷を使用します。この測定で使用するアプリケーション層およびデータソース層の構成は、最終的な配備と完全に一致するようにしてください。

  2. 垂直方向のスケーラビリティーを特定する。

    プロセッサを追加したときにパフォーマンスがどの程度上昇するかを特定します。これは、特定の作業負荷がかかったときにサーバー上で発生する共有リソース競合の量を間接的に測定することになります。この情報は、マルチプロセッサシステム上でのアプリケーションの追加負荷テストに基づいて入手するか、あるいは、すでに負荷テストが完了している類似のアプリケーションから入手した既存の情報を利用します。

    一般的には、1〜8 個の CPU 構成で一連のパフォーマンステストを段階的に実行することにより、システムの垂直方向スケーラビリティー特性の感覚が得られます。結果を歪曲することがないように、必ず、アプリケーション、Application Server、バックエンドのデータベースリソース、およびオペレーティングシステムを適切に調整してください。

  3. 水平方向のスケーラビリティーを特定する。

    十分に強力なハードウェアリソースを利用できる場合、単一のハードウェアノードでパフォーマンス要件を満たせる場合があります。それでも、2 台以上のシステムをクラスタ化することで、さらなる可用性の向上を実現できます。外部のロードバランサおよび作業負荷シミュレーションを利用して、ステップ (2) で特定したように、十分に調整された 1 つのアプリケーションサーバーノードをレプリケートすることによって得られるパフォーマンス向上を特定します。

ユーザーの期待

アプリケーションのエンドユーザーは一般に、パフォーマンスに関して何らかの期待を抱いています。多くの場合、そのような期待は数値的に定量化できます。顧客のニーズが満たされることを保証するために、これらの期待を明確に理解し、容量計画に反映する必要があります。

パフォーマンスに関する期待について、次の事項を検討します。