Sun Java System Web Server 7.0 パフォーマンスのチューニング、サイジング、およびスケーリング

電子商取引 Web アプリケーションテスト

電子商取引アプリケーションは、データベースを利用してオンラインショッピングのシミュレーションを行う、より複雑なアプリケーションです。

電子商取引テストのためのハードウェア

電子商取引の調査は、次のハードウェアを使用して実行されました。

Web Server のシステム構成:

データベースのシステム構成:

ドライバのシステム構成:

ネットワーク構成:

Web Server、データベース、およびドライバマシンをギガビット Ethernet リンクで接続しました。

電子商取引テストのための構成とチューニング

電子商取引テストは、次のチューニング設定を使用して実行されました。

JDBC のチューニング:

<jdbc-resource>
    <jndi-name>jdbc/jwebapp</jndi-name>
    <datasource-class>oracle.jdbc.pool.OracleDataSource</datasource-class>
    <max-connections>200</max-connections>
    <idle-timeout>0</idle-timeout>
    <wait-timeout>5</wait-timeout>
    <connection-validation>auto-commit</connection-validation>
    <property>
      <name>username</name>
      <value>  db_user  </value>
    </property>
    <property>
      <name>password</name>
      <value> db_password    </value>
    </property>
    <property>
      <name>url</name>
      <value>jdbc:oracle:thin:@db_host_name:1521:oracle_sid</value>
    </property>
 <property>
      <name>ImplicitCachingEnabled</name>
      <value>true</value>
    </property>
    <property>
      <name>MaxStatements</name>
      <value>200</value>
    </property>
  </jdbc-resource

JVM のチューニング:

-server -Xmx1500m -Xms1500m -Xss128k -XX:+DisableExplicitGC

電子商取引アプリケーションの説明

このテストでは、大量のインベントリからアイテムを販売する電子商取引 Web サイトをモデル化しました。その実装には、標準的な Web アプリケーションのモデル/表示/制御のデザインパターンを使用しています。ユーザーインタフェース (つまり、表示) は、1 つのマスター制御サーブレットとインタフェースする 16 種類の JSP ページで処理されます。このサーブレットは、モデルとして機能して 27 種類のクエリーを処理するデータベースへの JDBC 接続を維持しています。これらの JSP ページは JSP タグライブラリを広範囲に使用しており、ほぼ 2000 行のロジックで構成されます。

データベースのカーディナリティー

データベースには、1000 個の注文可能なアイテム (やはり 1000 のカーディナリティーを持つ 2 つの関連するテーブルがある)、72000 の顧客 (2 つの関連するテーブルがある)、および 190 万の注文 (2 つの関連するテーブルがある) が含まれています。標準の JDBC 接続が、準備済み文と次の標準の JDBC 設計原則を使用してデータベース接続を処理します。

作業負荷

ランダムに選択されたユーザーがオンラインショッピングを実行します。複合作業負荷で次の操作が使用されました。各操作は、操作の優先順位に従って実行されました。Home、AdminConfirm、AdminRequest、BestSellers、BuyConfirm、BuyRequest、CustomerRegistration、NewProducts、OrderDisplay、OrderInquiry、ProductDetail、SearchRequest、SearchResults、および ShoppingCart。

読み込みの起動には Faban ドライバを使用しました。思考時間を負の指数分布から選択しました。最小の思考時間は 7.5 秒、最大の思考時間は 75 秒でした。システムがサポートできる並行ユーザーの最大数を、次の合格条件に基づいて決定しました。

表 6–20 パフォーマンステストの合格条件

トランザクション 

90 パーセンタイルの応答時間 (秒) 

HomeStart 

AdminConfirm 

20 

AdminRequest 

BestSellers 

BuyConfirm 

BuyRequest 

CustomerRegistration 

Home 

NewProducts 

OrderDisplay 

OrderInquiry 

ProductDetail 

SearchRequest 

SearchResults 

10 

ShoppingCart 

次の表は、電子商取引 Web アプリケーションテストの結果を示しています。

表 6–21 電子商取引 Web アプリケーションのスケーラビリティー

CPU の数 

ユーザー 

スループット (ops/秒) 

7000 

790 

11200 

1350 

次の図は、電子商取引 Web アプリケーションのスケーラビリティーを示すグラフ表示です。

電子商取引 Web アプリケーションのスケーラビリティー - CPU の数 (ユーザー)

次の図は、電子商取引 Web アプリケーションのスケーラビリティーを示すグラフ表示です。

電子商取引 Web アプリケーションのスケーラビリティー - CPU の数 (スループット)