海外サーバーを高速に利用しよう(その3)

ダブルプロキシ(二重串)

環境が整っているわけだから、あまり意味はないのだが、nginx Reverse Proxyを二重に経由させたらどうなる?
というので、とりあえず試してみた。

[東京] ---- [大阪:Proxy] ---- [ロサンゼルス:Proxy] ---- [シカゴ]
      10ms             161ms                    20ms

見てもわかるように、Web Serverに到達するまでの、経路が長くなっているだけで、あまりメリットはないが、[大阪:Proxy]が受け取るクエリーは、常に、Cache応答となるので、CacheがActiveな状態では、僅かながら有利になっているハズだ。

# ab -c 50 -n 50 http://4cats.xaffy.net/
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 4cats.xaffy.net (be patient).....done


Server Software:        nginx
Server Hostname:        4cats.xaffy.net
Server Port:            80

Document Path:          /
Document Length:        23791 bytes

Concurrency Level:      50
Time taken for tests:   0.378 seconds
Complete requests:      50
Failed requests:        0
Write errors:           0
Total transferred:      1202800 bytes
HTML transferred:       1189550 bytes
Requests per second:    132.28 [#/sec] (mean)
Time per request:       378.000 [ms] (mean)
Time per request:       7.560 [ms] (mean, across all concurrent requests)
Transfer rate:          3107.43 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       11   12   0.3     12      13
Processing:    37  237 115.4    322     343
Waiting:       11   19   4.0     20      26
Total:         48  249 115.5    335     355

Percentage of the requests served within a certain time (ms)
  50%    335
  66%    342
  75%    343
  80%    344
  90%    350
  95%    350
  98%    355
  99%    355
 100%    355 (longest request)
# ab -c 1 -n 50 http://4cats.xaffy.net/
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 4cats.xaffy.net (be patient).....done


Server Software:        nginx
Server Hostname:        4cats.xaffy.net
Server Port:            80

Document Path:          /
Document Length:        23791 bytes

Concurrency Level:      1
Time taken for tests:   2.209 seconds
Complete requests:      50
Failed requests:        0
Write errors:           0
Total transferred:      1202800 bytes
HTML transferred:       1189550 bytes
Requests per second:    22.63 [#/sec] (mean)
Time per request:       44.189 [ms] (mean)
Time per request:       44.189 [ms] (mean, across all concurrent requests)
Transfer rate:          531.63 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       10   11   0.2     11      11
Processing:    33   34   0.3     33      35
Waiting:       11   11   0.2     11      12
Total:         44   44   0.4     44      46
ERROR: The median and mean for the processing time are more than twice the standard
       deviation apart. These results are NOT reliable.

Percentage of the requests served within a certain time (ms)
  50%     44
  66%     44
  75%     44
  80%     44
  90%     45
  95%     45
  98%     46
  99%     46
 100%     46 (longest request)

結果からすると、僅かにレスポンスが悪化している。
もっとも、[東京] — [シカゴ]が、170ms , [大阪] — [ロサンゼルス]が、161msなので、経路的には、10ms短くなっているのだが、結果としては、レスポンスは悪化してしまうので、まあ、誤差範囲とは言え、Proxyサーバーの性能に若干の負荷が乗った感じの応答性である。
内部的な意味からすれば、ある程度の成果があるのだろうが、ここまで経路を複雑にする実質的な価値は無いと思われる。

むしろ、地域別に経由先を変えながら、Proxyラウンドロビンさせたほうが、広域で見た場合には効果があるだろう。

Comments are closed.