この記事は公開から1年以上が経過しています。内容が古い場合があるのでご注意下さい。

cloudfrontはAWSのCDNサービスですが、cloudfrontを使うと、どの程度早くなるのか簡単に検証した時のメモです。

検証内容

検証方法は以下のとおり単純なものです。

  1. wordpressのサーバを1台用意する
  2. abコマンドでパフォーマンスを測定する
  3. Cloudfrontでキャッシュする設定に変更する
  4. 再度、abコマンドで計測する
  5. 結果がどう変わるか確認する

Cloudfrontの設定は基本的にはデフォルトのままとし、すべてキャッシュするようにしています。
また、検証用のサーバは、t2.microで単純なLAMPサーバです。(各種設定はデフォルト)

abコマンド

実行するabコマンドは以下で実行しました。

$ ab -n 100 -c 10 http://example.com/

検証結果

abコマンドの結果項目 cloudfront無い時 cloudfrontある時
Time taken for tests 16.181 seconds 0.120 seconds
Requests per second 6.18 [#/sec] 834.46 [#/sec]
Time per request
(mean)
1618.135 [ms] 11.984 [ms]
Time per request
(mean, across all concurrent requests)
161.814 [ms] 1.198 [ms]
Transfer rate 64.96 [Kbytes/sec] 9008.30 [Kbytes/sec]

コマンド結果

上記の各コマンドの全ての結果は以下のとおりでした。

cloudfront無い時

$ ab -n 100 -c 10 http://testweb.excore.info/

Concurrency Level:      10
Time taken for tests:   16.181 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Total transferred:      1076300 bytes
HTML transferred:       1056100 bytes
Requests per second:    6.18 [#/sec] (mean)
Time per request:       1618.135 [ms] (mean)
Time per request:       161.814 [ms] (mean, across all concurrent requests)
Transfer rate:          64.96 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1    1   0.2      1       2
Processing:   324 1587 288.2   1596    3501
Waiting:      148 1424 280.1   1429    3336
Total:        325 1587 288.2   1597    3502

Percentage of the requests served within a certain time (ms)
  50%   1597
  66%   1620
  75%   1627
  80%   1634
  90%   1655
  95%   1668
  98%   2761
  99%   3502
 100%   3502 (longest request)

cloudfrontある時

$ ab -n 100 -c 10 http://testweb.excore.info/

Concurrency Level:      10
Time taken for tests:   0.120 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Total transferred:      1105445 bytes
HTML transferred:       1066661 bytes
Requests per second:    834.46 [#/sec] (mean)
Time per request:       11.984 [ms] (mean)
Time per request:       1.198 [ms] (mean, across all concurrent requests)
Transfer rate:          9008.30 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        2    4   1.1      4       7
Processing:     3    7   2.2      7      16
Waiting:        3    7   2.1      6      15
Total:          7   11   2.4     10      19

Percentage of the requests served within a certain time (ms)
  50%     10
  66%     11
  75%     12
  80%     13
  90%     14
  95%     15
  98%     17
  99%     19
 100%     19 (longest request)

以上の通り、Cloudfrontで随分早くなることが分かりました。

実際に利用する時は、ヘッダやファイル種別などでキャッシュ設定を調整して設定することになります。

関連記事:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です