Skip to content

Instantly share code, notes, and snippets.

@eccyan
Created September 21, 2014 05:43
Show Gist options
  • Save eccyan/fde1227614f3165cb1a9 to your computer and use it in GitHub Desktop.
Save eccyan/fde1227614f3165cb1a9 to your computer and use it in GitHub Desktop.
RubyHirobaスライド

Ruby Hiroba

テルミーの歴史

http://tell-me.jp

リードエンジニア @eccyan

Tellme

nginx/unicorn/ruby/mysql/redis/memcached/ rails/resque/ansible

  • Ruby 2.1.2
  • Rails 3.2.19
  • AP 8x13
  • DB 12x5, 8x4
  • QUE 8x6

月間2億PV

History

WordPress 期

  • WordPress/MySQLでテルミー立ち上げ

History

Ruby on Rails 黎明期

  • 運用や負荷に耐えられなくなり DB はそのままで RoR へ移行
  • しかし、弊社にRubyのエンジニアは居なかったのであった・・・

History

テルミー暗黒期

  • 色々地獄だったらしい(知りたくない)

History

テルミー革命期

  • チームが大幅に変更された(僕もここでJOIN)
  • クエリのチューニング
  • DBインデックスのはりかえ
  • Eager loading
  • 新着等アクティブなフィードをプッシュ式の更新へ移行(Redis)
  • 週に一度のペースで深夜メンテを入れていた

History

テルミー成長期

  • 大きくトラフィックが増える
  • Redis のメモリ問題(半分しか使えない)
  • Redis の Master/Slave 化
  • 一時データは全て Memcached へ移行
  • キューを用いて更新の非同期化
  • サーバやDBの増強

History

テルミー安定移行期

  • DB分割(Good用DBの分割)
  • Connection Pooling 止めました
  • 大きなボトルネックだったフロントチューニング
  • コミュニティサービスでPHP/Java/Nodeを抑えて3位(長期運用サービス内ではトップ)
  • Speed Index 5900(First View/3G)
  • PCデザインの改善 ⇐ いまここ
  • ネイティブアプリの改善 ⇐ いまここ

Conclusions

総括

  • 結局ミドルウェアとフロント
  • そして、DBの設計
  • RoR だから遅いってことはない
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment