下記のELBのスケールアウトについて、実際に検証してみた。
サーバ構成はこんな感じ。
クライアント×4は以下のスクリプトでサーバに負荷をかける。
export HOST=XXX.ap-southeast-1.elb.amazonaws.com while true do date dig $HOST httperf --hog --server=$HOST --num-conns=50000 --rate=500 --timeout=5 --uri=/__XXX__ echo '-----' done
で、結果。
最初はELBのIPは1つだけ。
;; ANSWER SECTION:
XXX.ap-southeast-1.elb.amazonaws.com. 54 IN A XXX.XXX.XXX.112
5分ぐらい経つと3つのIPアドレスにアクセスするようになる。
;; ANSWER SECTION:
XXX.ap-southeast-1.elb.amazonaws.com. 54 IN A XXX.XXX.XXX.112
;; ANSWER SECTION:
XXX.ap-southeast-1.elb.amazonaws.com. 54 IN A XXX.XXX.XXX.48
;; ANSWER SECTION:
XXX.ap-southeast-1.elb.amazonaws.com. 54 IN A XXX.XXX.XXX.26
ELBのIPアドレスの増加に伴ってサーバのスループットもあがっていく。
23:42:51 | 42.5532
23:46:23 | 47.1698
23:48:26 | 81.3008
23:50:05 | 101.01
23:51:00 | 181.818
23:51:43 | 232.558
クライアントで観測できるスループットも、最初このくらいだったのが
Reply rate [replies/s]: min 117.0 avg 169.3 max 240.4 stddev 63.8 (3 samples)
Reply time [ms]: response 518.9 transfer 796.9
Reply size [B]: header 234.0 content 75079.0 footer 0.0 (total 75313.0)
Reply status: 1xx=0 2xx=1866 3xx=0 4xx=0 5xx=679
2倍くらいになる。
Reply rate [replies/s]: min 131.4 avg 310.4 max 405.6 stddev 155.1 (3 samples)
Reply time [ms]: response 100.6 transfer 212.9
Reply size [B]: header 279.0 content 102400.0 footer 0.0 (total 102679.0)
Reply status: 1xx=0 2xx=4656 3xx=0 4xx=0 5xx=0