レイテンシ比較 (東京/シンガポール/カリフォルニア)
2011-03-03 apache, aws, rails, benchmark
待ちに待った東京リージョンが2011年03月02日にスタートしました。そこで気になるのはコストとレイテンシ。コストに関してはこちらを見てもらうとして、実際Webアプリケーションを使ってどのぐらい速度が違うのかをベンチマークしてみました。
※ 更新(2011-03-03 10:23): カリフォルニアの計測値を更新しました。
計測条件、方法などは以下の通り:
- 計測地
- 東京都内
- 回線
- サイバーホーム
- 比較リージョン
- 東京/シンガポール/カリフォルニア
- 計測方法
- 各リージョンでCloudFormationのテンプレートにある、「Rails Hello World Application」を構築する。そのアプリに対し、apache benchで計測。
コマンド: ab -c10 -n100 [host]
レイテンシ比較
とりあえずConnection Times部分のみで比較をしてみます。
東京
min mean[+/-sd] median max
Connect: 5 9 3.3 6 13
Processing: 177 1498 285.7 1554 1872
Waiting: 176 1460 276.6 1516 1832
Total: 182 1507 285.5 1562 1884
シンガポール
min mean[+/-sd] median max
Connect: 73 83 4.1 81 89
Processing: 496 1410 184.7 1443 1884
Waiting: 496 1389 179.9 1414 1884
Total: 578 1493 185.1 1529 1973
カリフォルニア
min mean[+/-sd] median max
Connect: 112 121 5.1 123 126
Processing: 486 1383 180.5 1388 1798
Waiting: 482 1377 178.7 1384 1788
Total: 598 1504 181.2 1511 1924
東京はえええーー! なんと一桁msですよ。
ところが… 以下のトータル比較結果を御覧ください。
トータル比較
apache benchの結果すべてをリージョン毎に掲載します。結果としてApache Benchが一番早く終わったのはカリフォルニアです。これが意味するところは、AMIの処理速度が一番早い(最適化されている)ということではないでしょうか。「Time taken for tests(テストに要した時間)」は東京とカリフォルニアで6倍以上の差があります。まだ東京リージョンがローンチしたばかりなので、もしかすると今後スピードアップするかもしれません。←これはカリフォルニアの計測値が間違っていました。訂正します。
更新(2011-03-03 10:23): カリフォルニアの計測値を更新し、レイテンシ以外はそれほどさがないことを確認しました。当たり前といえば当たり前ですね。
ご参考になれば幸いです。
東京
$ ab -c10 -n100 http://railshell-elasticl-rx1cf2x0wat6-94656241.ap-northeast-1.elb.amazonaws.com/test/whereami
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking railshell-elasticl-rx1cf2x0wat6-94656241.ap-northeast-1.elb.amazonaws.com (be patient).....done
Server Software: WEBrick/1.3.1
Server Hostname: railshell-elasticl-rx1cf2x0wat6-94656241.ap-northeast-1.elb.amazonaws.com
Server Port: 80
Document Path: /test/whereami
Document Length: 326 bytes
Concurrency Level: 10
Time taken for tests: 15.810 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 82593 bytes
HTML transferred: 32600 bytes
Requests per second: 6.33 [#/sec] (mean)
Time per request: 1581.024 [ms] (mean)
Time per request: 158.102 [ms] (mean, across all concurrent requests)
Transfer rate: 5.10 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 5 9 3.3 6 13
Processing: 177 1498 285.7 1554 1872
Waiting: 176 1460 276.6 1516 1832
Total: 182 1507 285.5 1562 1884
Percentage of the requests served within a certain time (ms)
50% 1562
66% 1608
75% 1664
80% 1680
90% 1732
95% 1801
98% 1874
99% 1884
100% 1884 (longest request)
シンガポール
$ ab -c10 -n100 http://RailsHell-ElasticL-1N3FRHZ2J1GPY-1956348860.ap-southeast-1.elb.amazonaws.com/test/whereami
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking RailsHell-ElasticL-1N3FRHZ2J1GPY-1956348860.ap-southeast-1.elb.amazonaws.com (be patient).....done
Server Software: WEBrick/1.3.1
Server Hostname: RailsHell-ElasticL-1N3FRHZ2J1GPY-1956348860.ap-southeast-1.elb.amazonaws.com
Server Port: 80
Document Path: /test/whereami
Document Length: 327 bytes
Concurrency Level: 10
Time taken for tests: 15.652 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 82890 bytes
HTML transferred: 32700 bytes
Requests per second: 6.39 [#/sec] (mean)
Time per request: 1565.196 [ms] (mean)
Time per request: 156.520 [ms] (mean, across all concurrent requests)
Transfer rate: 5.17 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 73 83 4.1 81 89
Processing: 496 1410 184.7 1443 1884
Waiting: 496 1389 179.9 1414 1884
Total: 578 1493 185.1 1529 1973
Percentage of the requests served within a certain time (ms)
50% 1529
66% 1561
75% 1574
80% 1599
90% 1653
95% 1694
98% 1813
99% 1973
100% 1973 (longest request)
カリフォルニア
$ ab -c10 -n100 http://RailsHell-ElasticL-1TX9S0ODT2B2X-1213131784.us-west-1.elb.amazonaws.com/test/whereami
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking RailsHell-ElasticL-1TX9S0ODT2B2X-1213131784.us-west-1.elb.amazonaws.com (be patient).....done
Server Software: WEBrick/1.3.1
Server Hostname: RailsHell-ElasticL-1TX9S0ODT2B2X-1213131784.us-west-1.elb.amazonaws.com
Server Port: 80
Document Path: /test/whereami
Document Length: 322 bytes
Concurrency Level: 10
Time taken for tests: 15.788 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 82392 bytes
HTML transferred: 32200 bytes
Requests per second: 6.33 [#/sec] (mean)
Time per request: 1578.840 [ms] (mean)
Time per request: 157.884 [ms] (mean, across all concurrent requests)
Transfer rate: 5.10 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 112 121 5.1 123 126
Processing: 486 1383 180.5 1388 1798
Waiting: 482 1377 178.7 1384 1788
Total: 598 1504 181.2 1511 1924
Percentage of the requests served within a certain time (ms)
50% 1511
66% 1562
75% 1606
80% 1632
90% 1680
95% 1723
98% 1778
99% 1924
100% 1924 (longest request)