Flash server - stress test
負荷テスト条件
- DELL Power Edge sc 440
- CPU : Xeon 1.86GHz
- RAM : 1GB
- 接続 : スイッチングハブを介してabやsiegeを実行するマシンと接続
- 利用した生成システム : こちらのアクセス数制限を解除したもの
- 備考 : このシステムは、合成前のテンプレートや画像をメモリにキャッシュするように作られています。
- 利用したファイル : test1,test2はこちら、test3はこちらを解凍したものを全てアップロード
- テンプレート : 50KBと4KBの2種類で実験
ab
ab ( Apache Bench ) で負荷テストした結果の情報です。
test 1 重め
- テンプレート : 約50KB かなりの量のスクリプト+少しのベクター+少しの画像で出来ている
- 合成・挿入の内容 : jpeg(100px) x 1, gif(100px) x 1, SWF x 1, 変数 x 3, テンプレート
- コマンド : ab -n 50000 -c 100 "http://192.168.11.10/gen/Generate?folder=1288780436846&template=heavy.swf&i1=2.gif&i2=1.jpg&i3=1.swf&v1=hello&v2=ハロー&v3=実験"
- 秒203個のリクエストを処理
Server Hostname: 192.168.11.10 Server Port: 80 Document Path: /gen/Generate?folder=1288780436846&template=heavy.swf&i1=2.gif&i2=1.jpg&i3=1.swf&v1=hello&v2=ハロー&v3=実験 Document Length: 57480 bytes Concurrency Level: 100 Time taken for tests: 246.266 seconds Complete requests: 50000 Failed requests: 0 Write errors: 0 Total transferred: 2883708336 bytes HTML transferred: 2874404616 bytes Requests per second: 203.03 [#/sec] (mean) Time per request: 492.532 [ms] (mean) Time per request: 4.925 [ms] (mean, across all concurrent requests) Transfer rate: 11435.28 [Kbytes/sec] received
test 2 軽め
- テンプレート : 約4KB
- 合成・挿入の内容 : jpeg(100px) x 1, gif(100px) x 1, SWF x 1, 変数 x 3, テンプレート
- コマンド : ab -n 100000 -c 100 "http://192.168.11.10/gen/Generate?folder=1288780436846&template=lite.swf&i1=2.gif&i2=1.jpg&i3=1.swf&v1=hello&v2=ハロー&v3=実験"
- 秒1204個のリクエストを処理
Server Hostname: 192.168.11.10 Server Port: 80 Document Path: /gen/Generate?folder=1288780436846&template=lite.swf&i1=2.gif&i2=1.jpg&i3=1.swf&v1=hello&v2=ハロー&v3=実験 Document Length: 9279 bytes Concurrency Level: 100 Time taken for tests: 83.009 seconds Complete requests: 100000 Failed requests: 0 Write errors: 0 Total transferred: 946400000 bytes HTML transferred: 927900000 bytes Requests per second: 1204.69 [#/sec] (mean) Time per request: 83.009 [ms] (mean) Time per request: 0.830 [ms] (mean, across all concurrent reques
test 3 重め - 100個swfを挿入
- テンプレート : 約50KB
- 合成・挿入の内容 : swf(0.5KB) x 100, テンプレート
- コマンド : ab -n 100000 -c 100 "http://192.168.100.1/gen/Generate?folder=1289012401086&template=tmp100.swf&insert2instance&m1=1.swf,2.swf,3.swf,4.swf,5......."
- 秒117個のリクエストを処理
Server Hostname: 192.168.100.1 Server Port: 80 Document Path: /gen/Generate?folder=1289012401086&template=tmp100.swf&insert2instance&m1=1.swf,2.swf,3.swf,4.swf,5.swf..... Document Length: 99398 bytes Concurrency Level: 100 Time taken for tests: 848.763 seconds Complete requests: 100000 Failed requests: 0 Write errors: 0 Total transferred: 9959653968 bytes HTML transferred: 9941049876 bytes Requests per second: 117.82 [#/sec] (mean) Time per request: 848.763 [ms] (mean) Time per request: 8.488 [ms] (mean, across all concurrent requests) Transfer rate: 11459.29 [Kbytes/sec] received
siege
siegeで負荷テストした結果の情報です。
test 1 重め
- テンプレート : 約50KB かなりの量のスクリプト+少しのベクター+少しの画像で出来ている
- 合成・挿入の内容 : jpeg(100px) x 1, gif(100px) x 1, SWF x 1, 変数 x 3, テンプレート
- コマンド : siege -c100 -r500 -b -i -f urls.txt
- 秒205個のリクエストを処理
Transactions: 50000 hits Availability: 100.00 % Elapsed time: 243.76 secs Data transferred: 2706.15 MB Response time: 0.49 secs Transaction rate: 205.12 trans/sec Throughput: 11.10 MB/sec Concurrency: 99.74 Successful transactions: 50000 Failed transactions: 0 Longest transaction: 0.97 Shortest transaction: 0.11
test 2 軽め
- テンプレート : 約4KB
- 合成・挿入の内容 : jpeg(100px) x 1, gif(100px) x 1, SWF x 1, 変数 x 3, テンプレート
- コマンド : siege -c100 -r1000 -b -i -f liteurls.txt
- 秒1301個のリクエストを処理
Transactions: 100000 hits Availability: 100.00 % Elapsed time: 76.82 secs Data transferred: 813.19 MB Response time: 0.08 secs Transaction rate: 1301.74 trans/sec Throughput: 10.59 MB/sec Concurrency: 98.97 Successful transactions: 100000 Failed transactions: 0 Longest transaction: 0.21 Shortest transaction: 0.00
test 3 重め - 100個swfを挿入
- テンプレート : 約50KB
- 合成・挿入の内容 : swf(0.5KB) x 100, テンプレート
- コマンド : siege -c100 -r1000 -b -i -f url_100gen.txt
- 秒117個のリクエストを処理
Transactions: 50000 hits Availability: 100.00 % Elapsed time: 424.35 secs Data transferred: 4739.67 MB Response time: 0.85 secs Transaction rate: 117.83 trans/sec Throughput: 11.17 MB/sec Concurrency: 99.74 Successful transactions: 50000 Failed transactions: 0 Longest transaction: 1.51 Shortest transaction: 0.02
ちなみに
サクラインターネットのVPSや専用サーバー(帯域は無料のもの)に対してab等でリクエストをしてみると、秒10しか処理してくれません。これは帯域のオーバーヘッドと考えられ、改善するには帯域のアップグレードが必要だと思います。
Amazon EC2のUS east / small について、abで「重め」のテストをしてみると、こちらも秒10ぐらいしか処理してくれません。これも帯域のオーバーヘッドと考えられます。cpuもmemoryも余裕があるためです。2台のインスタンスなら倍のリクエストを処理するのかは、試していません。
本テストは外部ホスティングではなく自室に生成サーバーを置き、その隣に置いたPCで負荷を掛けました。接続は100BASE-Tスイッチングハブを介しています。
テストに使ったのは速度より汎用性にポイントを置いた生成システムです。速度にフォーカスして案件に合わせてシステムを作り替えた場合、もっと高速になります。
Home
Figment Research Tokyo Japan 2010