平均レスポンスタイム50msをPerlで捌く中規模サービスの実装/運用

基本的にはWeb+DB Press Vol70に書いているものの補足

IOをとにかく減らす

  • SSDを使う
  • DNS, RDBへの問い合わせをなくす
  • 極力/etc/hostsに書く

Profile

  • nginx

* upstream response time

  • -d:NYTProf
  • SIG{ALERM} でスナップショット取る
  • CloudForecast
  • GrowthForecast
    • ビジネス指標の取得

Test/CI

  • Mockオブジェクトでやってる
  • CI は Ukigumo::Server
  • コードレビューは自分でメンテできるかどうかが基準

サーバ

  • 自作サーバメイン
    • Sound Houseのシャーシ
    • Core i7
    • RAM 32MB
    • SSD 300GB?? x 2
    • 25万以下
  • バナーやFlashの配信
    • CDN
  • DNS
    • 社外に
  • 海外