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