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

hbstudy25 劇的ビフォーアフター

on

  • 5,392 views

 

Statistics

Views

Total Views
5,392
Views on SlideShare
5,380
Embed Views
12

Actions

Likes
6
Downloads
38
Comments
0

4 Embeds 12

http://esofa.ctc-g.co.jp 6
https://twitter.com 3
http://twitter.com 2
http://s.deeeki.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

hbstudy25 劇的ビフォーアフター hbstudy25 劇的ビフォーアフター Presentation Transcript

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