Skip to content

Instantly share code, notes, and snippets.

@Epictetus
Forked from mala/gist:4986504
Created August 22, 2013 02:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Epictetus/6302581 to your computer and use it in GitHub Desktop.
Save Epictetus/6302581 to your computer and use it in GitHub Desktop.

@ITやテッククランチがアホすぎてつらい。

要約

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 だけど。

で、彼らはルーターのアルゴリズム変更が、深刻なパフォーマンス劣化をもたらしたと主張しているわけ。 本気で言ってんの。

マジレス

コメント欄でマジレスしている人がたくさん出てくる。 例:

Heroku側の事情

  • Bamboo StackというのはRubyしか使えなくて実際に同時1リクエストしか受け付けないように制限されていた
  • 現行のCedar Stackというのはいろんな言語使えて、マルチスレッド、マルチプロセス、イベント駆動で複数リクエスト同時に処理できる。
  • Bambooはもう非推奨で新規作成は出来ない。Cedarという新しいスタックへの移行が推奨されていて、移行手順が公開されている。

ルーターのアルゴリズム改善するよ、元に戻すよ、なんてことは言ってなくて、 Cedarでのより良い並列性のサポート、移行のサポート、パフォーマンスについての理解と改善に役に立つツールを提供することを約束している。

Rap Geniusのファウンダーの人がやってること

ファウンダー / 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."

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment