pixivのインフラを支える技術

12,511 views

Published on

Published in: Self Improvement

pixivのインフラを支える技術

  1. 1. pixivのインフラを 支える技術 2009/09/25 ピクシブ株式会社 上薗 竜太
  2. 2. 自己紹介
  3. 3. 自己紹介 上薗 竜太 kamipo ピクシブ株式会社 2008年11月入社 インフラの設計・構築・運用管理
  4. 4. アジェンダ pixivについて pixivのインフラ 自作サーバ システム構成 運用構築あれこれ まとめ
  5. 5. pixivについて
  6. 6. pixivについて
  7. 7. pixivについて イラストコミュニケーションサービス 2007年09月10日 〜  サービス規模 125万ユーザ 8億5000万PV/月 3000万PV/日 関連サービス drawr http://drawr.net/ drawTwit http://drawtwit.com/ サーバ160台
  8. 8. pixivのインフラ 自作サーバ
  9. 9. 自作サーバ
  10. 10. 自作サーバ
  11. 11. 自作サーバ
  12. 12. 自作サーバ
  13. 13. 自作サーバ
  14. 14. 自作サーバ
  15. 15. pixivのインフラ システム構成
  16. 16. システム構成 OS Linux 2.6 (Debian lenny) Webサーバ apache 2.2.9 (prefork, event) データベース mysql 5.0.67 (tritonn 1.0.12) アプリケーション PHP 5.2.6 (+ APC)
  17. 17. システム構成 ロードバランサ mod_proxy_balancer (L7) LVS (L4) キャッシュサーバ memcached 1.4.1 (データベース) squid 2.7 (画像)
  18. 18. システム構成
  19. 19. システム構成
  20. 20. 運用構築あれこれ
  21. 21. apacheのMPM prefork PHPサーバ用 event workerの改良版 proxy、画像サーバ用
  22. 22. KeepAlive prefork KeepAlive Off event KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 2
  23. 23. mysqlの運用 mysqlは自動起動にしない ウォームアップ後に本番に投入 cat *.MY[ID] *.SEN* とにかくデータをメモリに乗せることが重要 メモリ増設 4GB -> 8GB データベース分割 現在4つに分割している データベース分割が難しいときは参照分割
  24. 24. mysqlの運用 メディック 復旧専用のスレーブ機 障害機にスナップショットを転送
  25. 25. netfilter (iptables) ip_conntrack_maxの値が規定値だと小さい ip_conntrack: table full, dropping packet. デフォルトだと65536 sysctl -w ¥ net.ipv4.netfilter. ip_conntrack_max=262144
  26. 26. netfilter (iptables)
  27. 27. noatime/relatime デフォルト 常にatimeを更新する noatime 常にatimeを更新しない relatime atimeがctimeやmtimeより古いとき更新
  28. 28. noatime/relatime
  29. 29. noatime/relatime
  30. 30. noatime/relatime
  31. 31. 運用管理あれこれ インストール PXEブート preseed setup.sh Subversion configファイルのバージョン管理 commit時にMLに通知
  32. 32. 運用管理あれこれ アプリケーションのデプロイ staging環境から本番環境にrsync Capistrano 多数のサーバにコマンド発行できる cap invoke COMMAND='cat /proc/loadavg'
  33. 33. まとめ pixivのインフラについて紹介しました セオリー通りでなんとかなります 運用や構築について ちょっとしたことが大きく効いてきます
  34. 34. ご清聴  ありがとうございました      

×