電子商取引アプリケーションは、データベースを利用してオンラインショッピングのシミュレーションを行う、より複雑なアプリケーションです。
電子商取引の調査は、次のハードウェアを使用して実行されました。
Web Server のシステム構成:
Sun Microsystems Sun Fire 880 (900MHz US-III+)。このテストには 4 個の CPU のみを使用しました。
16384M バイトのメモリー
Solaris 10 オペレーティングシステム
データベースのシステム構成:
Sun Microsystems Sun Fire 880 (900MHz US-III+)
16384M バイトのメモリー
Solaris 10 オペレーティングシステム
Oracle 10.1.0.2.0
ドライバのシステム構成:
Sun Microsystems Sun Fire 880 (900MHz US-III+)
Solaris 10 オペレーティングシステム
ネットワーク構成:
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 |
3 |
AdminConfirm |
20 |
AdminRequest |
3 |
BestSellers |
5 |
BuyConfirm |
5 |
BuyRequest |
3 |
CustomerRegistration |
3 |
Home |
3 |
NewProducts |
5 |
OrderDisplay |
3 |
OrderInquiry |
3 |
ProductDetail |
3 |
SearchRequest |
3 |
SearchResults |
10 |
ShoppingCart |
3 |
次の表は、電子商取引 Web アプリケーションテストの結果を示しています。
表 6–21 電子商取引 Web アプリケーションのスケーラビリティー
CPU の数 |
ユーザー |
スループット (ops/秒) |
---|---|---|
2 |
7000 |
790 |
4 |
11200 |
1350 |
次の図は、電子商取引 Web アプリケーションのスケーラビリティーを示すグラフ表示です。
次の図は、電子商取引 Web アプリケーションのスケーラビリティーを示すグラフ表示です。