Web アプリケーションのパフォーマンスについて

Document created by Miharu_Toyama Employee on Jul 6, 2015Last modified by Miharu_Toyama Employee on Jul 7, 2015
Version 3Show Document
  • View in full screen mode

文書番号: JTEC001721

製品名: CA Gen

バージョン:Advantage Gen 6.5

OS:


◆ 詳細内容

Advantage Gen Web アプリケーションのパフォーマンスを向上させたい場合、使用環境について評価すべきポイントがいくつかあります。

 

まず、システム構成を含むマシン情報の洗い出しをおこないます。
アプリケーションに関連するもの、そしてその中には複数マシンにまたがるものなどがあります。

 

Advantage Gen の論理クライアントは、以下より構成されます。

ユーザ インターフェース - ブラウザ上
生成 Java サーブレット(<コンテキスト名>.jar)- アプリケーション サーバ上
静的ランタイム ファイル(.js, .xml, .gif など)- Web サーバ上
ランタイム クラス ファイル(genrt.jar)- アプリケーション サーバ上

クライアント/サーバ アプリケーションを使用する場合、サーバは EJB または C++/COBOL プログラムなどとなり、同一マシンあるいは別々のマシン上で稼動させることになります。

 

ネットワーク タイミングおよびネットワーク上のメッセージ交換頻度は、全体のパフォーマンスを決める大きな要素となります。

 

サーバにディスク キャッシュはありますか?

アプリケーション サーバはキャッシュの使用が可能で、マシンでもキャッシュを使用できます。例えば NT では、仮想メモリに対するディスク キャッシュを設定できます。
その仮想メモリを固定サイズに設定すると、ファイル システム上で仮想メモリ領域が動的に割り当てられる場合よりも、マシンのパフォーマンスは向上します。
充分に物理メモリがある場合は、ディスクへのメモリのスワッピングは全くおこなわれません。スワッピングは、パフォーマンス低下の大きな原因となります。

 

ブラウザ キャッシュも、パフォーマンスに大きく影響します。
例えば Internet Explorer において、 [インターネット オプション] - [全般] - [設定] で [保存しているページの新しいバージョンの確認] を「確認しない(N)」に設定すると、その後に埋め込み JavaScript ファイルを使用しても Web サーバへの通信はおこなわれません。

サーバのメモリは何MBですか?

パフォーマンス上、非常に重要であるにもかかわらず見過ごされがちなのは、物理メモリは 2 GB 以上とすべきだという点です。メモリが少ないと、アプリケーション サーバはハードディスクへセッションをシリアライズするか、あるいはオペレーティング システムが仮想メモリ(ディスク)へプログラムをスワッピングするため、速度は決して上がりません。
プログラムが同一でメモリが最小の同一マシン上で2つのテストを実行し、ハード ディスクへのスワッピングが発生(オペレーティング システムに大きく依存)した場合、それぞれのパフォーマンス結果は全く異なるものになることがわかります。

 

Webサーバおよびアプリケーション サーバは同一マシン上にある必要はありませんが、そのキャッシュ機能を最大限に利用するためには、静的ファイル(*.htmlおよび *.js)が Webサーバ上に配置されている必要があります。
たいてい、Web サーバとアプリケーション サーバを同一マシン上に置かないことで、アプリケーション サーバがより多くの要求を処理できるようにしパフォーマンスを改善させます。
この場合、アプリケーション サーバで処理しなければならない要求のみが、実際にアプリケーション サーバへ送信されます。
Web サーバで処理できる要求は、Web サーバにおいて即時処理されます。
多くにおいて、ロード テストは同じページを何度もヒットさせる(現実の状況とは異なります)ため、Web サーバが別マシン上にあるとヒット能力は上がります。
これらのヒット対象のほとんどは、Web サーバ上でキャッシュおよび処理される静的 html および JavaScript ページです。
つまり、ほとんどの要求はアプリケーション サーバまで到達することはないため、アプリケーション サーバではより多くの空きメモリが確保されヒット数も少なくなります。
また、Web サーバを別のマシンで稼動することで、ヒット数の減少によりアプリケーション サーバの CPU への負荷が低減されます。

 

Web サーバおよびアプリケーション サーバ間の接続プーリングは、Advantage Gen 生成の Web アプリケーションではなく、これらサーバの設計およびシステム構成に依存します。

パフォーマンス向上のための一般的なヒント

  1. 500ユーザに対応可能な程度の充分なメモリを設置する。 最小 512 MB。1 から 2 GB を推奨。
  2. OS のスワッピング機能をオフに設定する。
  3. 起動するサービスを最小限とする。 ベンチマークでどのサービスをオフにするかについて、Web 上でドキュメントが公開されています。 また、以下のガイドを参考にしてください。
    http://www.windowsitlibrary.com/Content/329/21/4.html.
  4. ハードディスクが 7200 RPM ドライブでキャッシュ機能付きであること。これにより、低速なドライブがパフォーマンス低下をまねくことはありません。
  5. パフォーマンス統計がベストであるアプリケーション サーバを選択する。
    http://www.katungroup.com/ApplicationServers.htm
  6. 同一テスト間の差異が最小となるよう、ベンチマークは複数回実行する。

現時点では、IBM の WebSphere 5.0 および Oracle Application Server が最高のパフォーマンスを提供すると考えられます。 IBM および Oracle ともに、Apache Web Server およびアプリケーション サーバのロード バランスをおこなうファイアウォール機能を備えています。

 

また http://www.javalobby.org/members/jpr/part5.jsp によると、アプリケーション サーバを稼動する場合、IBM JDK 1.3.1、次いで Sun JDK 1.4.0_02 がもっとも高速の Java VM とされています。


この情報は米国 Computer Associates International, Inc. より提供されている Technical Documentsをもとに作成したものです。

TITLE : Web Application Performance (原書作成日付: 2003-2-21)


Attachments

    Outcomes