@ITやテッククランチがアホすぎてつらい。
- http://www.atmarkit.co.jp/ait/articles/1302/15/news090.html
- http://jp.techcrunch.com/archives/20130214heroku-admits-to-performance-degradation-over-the-past-3-years-after-criticism-from-rap-genius/
Rap GeniusというサービスがHerokuに月額2万ドル払っていて、そのサービスに満足していたという。 内訳はよくわからないが、Herokuの「サクセスストーリー」に公開されているところによると、彼らはWeb用のdynoを120使っているとのこと。 http://success.heroku.com/rapgenius
New Relic(サードパーティのパフォーマンス計測アドオン)には年間 $63116.13 払っているという。 120導入した場合のコストが月5184 * 12 = 62208 なのでおおよそ合致する。Web用のdynoが120で確定だろう。
で、彼らが公開しているNew Relicから報告されるパフォーマンス測定結果の画像 http://rapgenius.com/Lemon-money-trees-rap-genius-response-to-heroku-lyrics
平常時 https://dl.dropbox.com/u/122798075/screenshots/2013-02-12_1146.png キューが詰まってる時 https://dl.dropbox.com/u/2792776/screenshots/2013-02-17_1404.png
平常時の平均応答速度は236ms リクエストがキューに貯まらずに殆ど性能劣化してない状態で236ms これが彼ら自身が言っていることだが "single thread" で "one request at a time" の Ruby on Railsで作られている。 つまり 4 req / sec の仮想サーバーが 120台。同時接続数120 ピーク性能が大体 500 req / sec 程度ということ。 彼らが $20000 / month で得たものが 500 req / sec 。Webだけなら $2987 だけど。
で、彼らはルーターのアルゴリズム変更が、深刻なパフォーマンス劣化をもたらしたと主張しているわけ。 本気で言ってんの。
コメント欄でマジレスしている人がたくさん出てくる。 例:
- Railsは並行処理出来ないサーバーじゃないんだけど。なんでUnicorn使わないの
- 70年代のsendmailでもそんな馬鹿なことはしねえよ(ジョナサン・スウィフト)
- 俺はscalaで8dynoで25000req/sec捌いてるんだけど。 http://news.ycombinator.com/item?id=5218099
- ちょおおおおっと待って。Herokuはone request at a timeなスタックを推奨してたの?マジで?? https://blog.heroku.com/archives/2013/2/16/routing_performance_update/#comment-802768212
- Bamboo StackというのはRubyしか使えなくて実際に同時1リクエストしか受け付けないように制限されていた
- 現行のCedar Stackというのはいろんな言語使えて、マルチスレッド、マルチプロセス、イベント駆動で複数リクエスト同時に処理できる。
- Bambooはもう非推奨で新規作成は出来ない。Cedarという新しいスタックへの移行が推奨されていて、移行手順が公開されている。
ルーターのアルゴリズム改善するよ、元に戻すよ、なんてことは言ってなくて、 Cedarでのより良い並列性のサポート、移行のサポート、パフォーマンスについての理解と改善に役に立つツールを提供することを約束している。
ファウンダー / CTO この人 http://tomlehman.com/
Hacker Newsには自分で投稿 http://news.ycombinator.com/submitted?id=tomlemon
色んなメディアに@飛ばしてる http://code.dblock.org/in-defense-of-heroku
最新のエントリでは金返せと言ってる。 http://rapgenius.com/Lemon-money-trees-rap-genius-response-to-heroku-lyrics "In addition, Heroku should offer its customers at least some of their money back."