Elastic Load Balancer は遅い
Elastic Load Balancer は遅い。ELB を通すと、300-600ms ほどレスポンスが遅くなる。100ms を削ってユーザエクスペリエンスを高めたいときに、300ms はつらい。測ったことはないが LVS だとそんなに遅延しないんじゃなかろうか。ELB は Squid の改造版という話を聞いたことがあるが、ソース見当たらず。動いているレイヤが違うなら、遅いのは、一般的に考えて仕方がない。ab で軽く負荷テストしたところ、レスポンスは悪いものの、スループットは特に問題がない印象。
ELB は HTTPS を HTTP に変換して後ろのサーバに送る SSL Termination ができるものの、SSL Termination も遅い。4月に試したときは、20-25req/sec くらいまでしか処理できなかった。トラフィックが増えると自動的に高性能なノードに移るから、その閾値までいかなかったのかもしれないが、負荷分散のために差し挟む ELB がボトルネックになるようでは採用しにくい。HTTPS のプロトコルをスルーして、443/tcp としてそのままウェブサーバに転送すれば、このスループット悪化は起こらない。