Your SlideShare is downloading. ×
hbstudy25 劇的ビフォーアフター
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

hbstudy25 劇的ビフォーアフター

5,096
views

Published on

Published in: Technology

0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,096
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
39
Comments
0
Likes
6
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. hbstudy#25ピクシブ株式会社   飯田 祐基
  • 2. アジェンダ● 紹介● はじめに● Before● After● ドーピングTips集● 近況と今後の展望
  • 3. 紹介
  • 4. 自己紹介● 飯田 祐基 (@semind)● もうすぐ三十路● もうすぐpixivに来て2年 (インフラ部隊)● 前職はプロバイダ (I○J)● ネットワーク、広告配信、画像配信、データセ ンタ● リクルータみたいなことも● コーディングもサーバもネットワークも配線も● 最近の興味はrails, coffeescript, html5, css3
  • 5. イラストを中心としたSNSサービス
  • 6. WEB+DB PRESS Vol.63絶賛発売中! (pixivのこれまでの歴史)
  • 7. もっと掘り下げて詳しく!そして何か一つでも実践できるものを見つけて いただければ!が今日のテーマです
  • 8. はじめに
  • 9. 弊社システムの特徴 それは....
  • 10. 自作サーバ!
  • 11. なんでこんな事してんの? 安いからに決まってまんがな
  • 12. 人件費...管理コスト...
  • 13. 黙らっしゃい!ない袖は振れない
  • 14. 色々大丈夫なの? 案外いけます(でもBtoBとかではやらない方が良いと思います)
  • 15. すぐ壊れたりしないの? そうでもないです● 200台強でディスク故障が数回/年● 意外とNICがダメになりやすい (1回/月未満)● その他のパーツも月1回あるかないか
  • 16. 捌ききれるの?そこは努力が必要です
  • 17. 捌くための努力 大きく2パターン● 積むもの積む(ハードウェア増強) => コスト大● 積むもの積まない (最適化)  => コスト小
  • 18. 積まない!積んだら負けかなと思ってる(最近は積むとこは積んでる)
  • 19. 積まずに済ます努力 当然やってます!● プログラムの最適化 ● ミドルウェアの選定、チューニング
  • 20. 安いものを限界まで使う 安いものを限界まで使う (性能を引き出す)
  • 21. 大丈夫....?心配性はインフラエンジニアには大事な素養
  • 22. 大改造!!劇的ビフォーアフター – pixivを通り抜けたハードウェアたち –
  • 23. Before- 自社オフィスルームでの運用 -
  • 24. ベニヤ(B28)サーバ● CPU: AMD AthlonⅡ X4 605e● Memory: バルク 8GB● HDD: WD1600BEKT (Crucial RealSSD C300 64GB)● 電源: KRPW-V300W● MB: GA-MA785GMUS2H 1台あたり5万円弱 (主にビッグカメラで購入) http://www.atmarkit.co.jp/news/201007/21/pixiv.html
  • 25. パーツ(機器)を選ぶ基準● 安い!● 消費電力が少ない (かなり重要)● 基本同じものを揃える● 用途に合わせて一部良い物を使ったりする● 機能要件と値段を天秤に
  • 26. ラック ルミナスホームラック4段90W LH9015-4 (x2)   ● ¥18,000● ルミナスはエレクタより安価 20台 / 1ラック 東急ハンズで購入
  • 27. UPS UPS1200LX ¥7,980 (x7)● ホントに安い● 2年すると瞬断でも ×● 電圧降下が起きて不安定 サウンドハウスで購入
  • 28. L2スイッチ(Giga 24port) Buffalo LSW-GT-24NSRR● ¥ 30,000● ほとんど壊れない● 少し上位のモデルは700Mbps出た● BPDU透過
  • 29. ルータ (外向けの接続) Super OPT 100e● 100M共用回線用● 価格.comで調べたら最安が¥16,000くらい● 通販で買ってた● 今はL2スイッチと同じものに入れ替えた
  • 30. ベニヤ板 大きいのを1枚買って加工してもらう 120円 / 1枚 (東急ハンズ) 感電対策のために非常に重要マザーボードのたわみ対策で非常に重要 実はベニヤじゃなくてMDF板 懺悔のお言葉
  • 31. たわむ
  • 32. 実際運用してて感じた事● まとめて調達するのは難しい ● 家電量販店でも値切れる● 販売停止のサイクルが早くて困る● ロット単位ではずれ引いたりする● 思ったよりも荒い扱いしても大丈夫 (市販品 でも質は高い)● 配線が結構面倒 & 酷くなりがち● 物理的に違うホストと間違えやすい● NICが壊れる● Realtekは弱い (でも実績で270Mbpsは出た)● 新しいパーツを直ぐ試せる (SSDとか)
  • 33. 悩みどころ(限界)● L3スイッチは比較的高価なのでL2でカスケー ド繰り返してたらアドレスが足りなくなった & 輻輳が酷くなった● 共用の回線を沢山引いていたら(外→室内 の)ファイバを通す余裕がもうないと言われた● 電源まわりが非常に不安● セキュリティ的にも非常に不安● リモートで電源操作できないのは不便● 正直地震は怖かった
  • 34. After- データセンタでの運用 -
  • 35. データセンタ移行● 建物的なキャパの限界● 局舎側のキャパの限界● ネットワーク(輻輳)の改善● 移行に伴い浮いたハードウェアリソースを利 用して配線等を見直し● (色んな意味で)信頼性の向上● ハイブリッド構成
  • 36. スパゲッティーコード(笑)
  • 37. meets
  • 38. L3スイッチ & モール !
  • 39. HP A5500-24G E● VRRPで冗長化 & スパニングツリー● 定価60万強● 24ポート Gigabit L3 Layer Switching Hub● オフィスサーバルーム、データセンタ間の専用線接続● スター型へトポロジーの変更● サブネットの分割● かなりCiscoライクでマニュアルを頑張って読めばなんとかなる● 元々はH3C社の製品
  • 40. ルータワー(笑)
  • 41. meets
  • 42. IDCフロンティア ! ● 契約帯域 Max 8Gbps ! ● 4ラック 100台強稼動 ● コアな機能はほぼすでにこちらで動いている ● 会社から近い ● 外側のスイッチの運用はお任せしている ● データセンタ移行記   http://dev.pixiv.net/archives/1140352.html ● 6GbpsをさばくオレオレCDN構築術 http://www.slideshare.net/semind/20101220-pixiv-techmeeting-6267332
  • 43. HP Proliant DL120 G6● 現在の主力機● 定価10万強● iLO (リモート電源管理, Serial over LAN)● 3.5インチベイに2.5インチ変換アダプターで SSDを接続
  • 44. A+ Server 2022TG-HTRF● 2Uに4台分 (デュアルCPU)入るベアボーン キット● ベアボーンのみで30万強● 空間効率が非常に良い● Opteron 8-Core 6128 x8● アプリケーションサーバとして利用● ベニヤサーバ16台分 (CPUコア数ベース)http://www.supermicro.com.tw/Aplus/system/2U/2022/AS-2022TG-HTRF.cfm
  • 45. HP ProCurve Switch 2510G-48● 各ラックのLANを受けるのに利用● 定価20万強● 48ポート -> L3スイッチを通るトラフィックが減少● L3スイッチのとの間でリンクアグリゲーション (L2 ⇔ L3 2G)● mysqlのコネクション接続の失敗が減少した
  • 46. ドーピングTips集
  • 47. 少ないハードウェアリソースで捌くコツ1. キャッシュする2. TCP接続しない3. ピンポイントで良い物使う
  • 48. nginxでローカルキャッシュ ● 画像配信系サーバで実施 ● 参照頻度が高く、種類の少ないファイル(js, css, ランキングサム ネイル, 広告系の画像etc) ● Disk IOが増えがちなのでメモリ増強 + SSD投入 ● nginxの設定でIO減少proxy_temp_path /dev/shm/nginx_proxy_temp;proxy_cache_min_uses 5;
  • 49. APC + TokyoTyrantで2段キャッシュ● 広告配信系サーバで実施● APC (Apacheのメモリ空間上にキャッシュ、揮発性)● 元々はMemcahed(unix domain soket)を使っていた● DL120G6でピーク時 1200req / sec (1台あたり、まだ余裕)
  • 50. APC + TokyoTyrantで2段キャッシュ APC > Key Value Store (Unix Domain Socket) > Key Value Store (TCP) >>>>>>>越えられない壁>>>>>>> MySQL
  • 51. memagentで持続的接続● セッション用KVS、APサーバ間等で利用● TCPの持続的接続● コネクション数の節約
  • 52. Intel NIC EXPI9301CT● オフィスサーバルーム時代に大活躍● 3500円くらい● LVS、画像のフロントサーバなどに利用● インテルは強い子
  • 53. Broadcom BCM5709● LVSで利用● 1万● on Ubuntu 10.10 にて CPUコア分散● generic-receive-offloadをoffにしている MTUサイズを越えるSQLクエリーの再送が頻発 $ ethtool -k eth0
  • 54. MTU 6144● いわゆるジャンボフレーム● できないNICもままあるので注意● 大きいファイルの転送などには効果あり● 黒魔術系 (リブート病、再送の頻発)
  • 55. RealSSDシリーズ● メモリには乗り切らない...でもDisk IOが多い所 に利用● 画像キャッシュサーバ、DBスレーブ● ラックマウントサーバの3.5インチベイでもなん とか使えるかも
  • 56. Secure Erase● SSDは書き込みを繰り返すと劣化 -> Disk IO が酷い事に● Secure Erase (完全消去) を実行● 結構劇的な効果あり
  • 57. 近況と今後の展望
  • 58. 近況と今後の展望● 全文検索をTorittonからSolrへ切り替え ○ インデックス生成バッチ処理にscala● Key Value Store を Kyoto Tycoonへ● ドーピング的な最適化から緻密な最適化へ ○ パケットのdump ○ ログ集計、負荷の可視化 ○ slow queryの条件を厳しく ○ オープンソースの挙動を追う  ○ メンテナンスセグメント構築
  • 59. 近況と今後の展望 2● 管理コスト減 ○ フレームワークの導入 (rails, silex) ○ 開発、デプロイ方法の整備 ○ 監視設定の整備、自動化● データ、ログ解析 ○ レコメンデーション ○ 最適化 ○ ユーザの動向の把握● 海外展開に向けてCDNとかディザスタとか
  • 60. まとめ● 安くても良い物はたくさんある● でも限界もやっぱりある● 要は適材適所、ケースバイケース● リソースの制限はエンジニアの成長を促す● なんだかんだで自作(選択肢が制限されな い、自由)というのは存分にメリットあり
  • 61. では一緒に働いてくれるエンジニアを募集しています http://recruit.pixiv.net/
  • 62. ご静聴ありがとうございました