テルミーの歴史
リードエンジニア @eccyan
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
WordPress 期
- WordPress/MySQLでテルミー立ち上げ
Ruby on Rails 黎明期
- 運用や負荷に耐えられなくなり DB はそのままで RoR へ移行
- しかし、弊社にRubyのエンジニアは居なかったのであった・・・
テルミー暗黒期
- 色々地獄だったらしい(知りたくない)
テルミー革命期
- チームが大幅に変更された(僕もここでJOIN)
- クエリのチューニング
- DBインデックスのはりかえ
- Eager loading
- 新着等アクティブなフィードをプッシュ式の更新へ移行(Redis)
- 週に一度のペースで深夜メンテを入れていた
テルミー成長期
- 大きくトラフィックが増える
- Redis のメモリ問題(半分しか使えない)
- Redis の Master/Slave 化
- 一時データは全て Memcached へ移行
- キューを用いて更新の非同期化
- サーバやDBの増強
テルミー安定移行期
- DB分割(Good用DBの分割)
- Connection Pooling 止めました
- 大きなボトルネックだったフロントチューニング
- コミュニティサービスでPHP/Java/Nodeを抑えて3位(長期運用サービス内ではトップ)
- Speed Index 5900(First View/3G)
- PCデザインの改善 ⇐ いまここ
- ネイティブアプリの改善 ⇐ いまここ
総括
- 結局ミドルウェアとフロント
- そして、DBの設計
- RoR だから遅いってことはない