hbstudy25 劇的ビフォーアフター

66
hbstudy#25 ピクシブ株式会社 飯田 祐基

Upload: semind

Post on 26-Dec-2014

5.028 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: hbstudy25 劇的ビフォーアフター

hbstudy#25

ピクシブ株式会社   飯田 祐基

Page 2: hbstudy25 劇的ビフォーアフター

アジェンダ

●紹介●はじめに● Before● After●ドーピングTips集●近況と今後の展望

Page 3: hbstudy25 劇的ビフォーアフター

紹介

Page 4: hbstudy25 劇的ビフォーアフター

自己紹介

●飯田 祐基 (@semind)●もうすぐ三十路●もうすぐpixivに来て2年 (インフラ部隊)●前職はプロバイダ (I○J)●ネットワーク、広告配信、画像配信、データセ

ンタ●リクルータみたいなことも●コーディングもサーバもネットワークも配線も●最近の興味はrails, coffeescript, html5, css3

Page 5: hbstudy25 劇的ビフォーアフター
Page 6: hbstudy25 劇的ビフォーアフター

イラストを中心としたSNSサービス

Page 7: hbstudy25 劇的ビフォーアフター

WEB+DB PRESS Vol.63

絶賛発売中! (pixivのこれまでの歴史)

Page 8: hbstudy25 劇的ビフォーアフター

もっと掘り下げて詳しく!

そして何か一つでも実践できるものを見つけていただければ!が今日のテーマです

Page 9: hbstudy25 劇的ビフォーアフター

はじめに

Page 10: hbstudy25 劇的ビフォーアフター

弊社システムの特徴

それは....

Page 11: hbstudy25 劇的ビフォーアフター

自作サーバ!

Page 12: hbstudy25 劇的ビフォーアフター

なんでこんな事してんの?

安いからに決まってまんがな

Page 13: hbstudy25 劇的ビフォーアフター

人件費...管理コスト...

Page 14: hbstudy25 劇的ビフォーアフター

黙らっしゃい!

ない袖は振れない

Page 15: hbstudy25 劇的ビフォーアフター

色々大丈夫なの?

案外いけます(でもBtoBとかではやらない方が良いと思います)

Page 16: hbstudy25 劇的ビフォーアフター

すぐ壊れたりしないの?

そうでもないです

● 200台強でディスク故障が数回/年●意外とNICがダメになりやすい (1回/月未満)●その他のパーツも月1回あるかないか

Page 17: hbstudy25 劇的ビフォーアフター

捌ききれるの?

そこは努力が必要です

Page 18: hbstudy25 劇的ビフォーアフター

捌くための努力

大きく2パターン

●積むもの積む(ハードウェア増強) => コスト大●積むもの積まない (最適化) 

=> コスト小

Page 19: hbstudy25 劇的ビフォーアフター

積まない!

積んだら負けかなと思ってる(最近は積むとこは積んでる)

Page 20: hbstudy25 劇的ビフォーアフター

積まずに済ます努力

当然やってます!

●プログラムの最適化 ●ミドルウェアの選定、チューニング

Page 21: hbstudy25 劇的ビフォーアフター

安いものを限界まで使う

安いものを限界まで使う(性能を引き出す)

Page 22: hbstudy25 劇的ビフォーアフター

大丈夫....?

心配性はインフラエンジニアには大事な素養

Page 23: hbstudy25 劇的ビフォーアフター
Page 24: hbstudy25 劇的ビフォーアフター

大改造!!劇的ビフォーアフター

– pixivを通り抜けたハードウェアたち –

Page 25: hbstudy25 劇的ビフォーアフター

Before

- 自社オフィスルームでの運用 -

Page 26: hbstudy25 劇的ビフォーアフター

ベニヤ(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

Page 27: hbstudy25 劇的ビフォーアフター

パーツ(機器)を選ぶ基準

●安い!●消費電力が少ない (かなり重要)●基本同じものを揃える●用途に合わせて一部良い物を使ったりする●機能要件と値段を天秤に

Page 28: hbstudy25 劇的ビフォーアフター

ラック

20台 / 1ラック東急ハンズで購入

ルミナスホームラック4段90W LH9015-4 (x2)   ●¥18,000●ルミナスはエレクタより安価

Page 29: hbstudy25 劇的ビフォーアフター

UPS

UPS1200LX ¥7,980 (x7)●ホントに安い● 2年すると瞬断でも ×●電圧降下が起きて不安定

サウンドハウスで購入

Page 30: hbstudy25 劇的ビフォーアフター

L2スイッチ(Giga 24port)

Buffalo LSW-GT-24NSRR●¥ 30,000●ほとんど壊れない●少し上位のモデルは700Mbps出た● BPDU透過

Page 31: hbstudy25 劇的ビフォーアフター

ルータ (外向けの接続)

Super OPT 100e●100M共用回線用●価格.comで調べたら最安が¥16,000くらい●通販で買ってた●今はL2スイッチと同じものに入れ替えた

Page 32: hbstudy25 劇的ビフォーアフター

ベニヤ板

大きいのを1枚買って加工してもらう120円 / 1枚 (東急ハンズ)

感電対策のために非常に重要マザーボードのたわみ対策で非常に重要

実はベニヤじゃなくてMDF板

懺悔のお言葉

Page 33: hbstudy25 劇的ビフォーアフター

たわむ

Page 34: hbstudy25 劇的ビフォーアフター

実際運用してて感じた事

●まとめて調達するのは難しい ●家電量販店でも値切れる●販売停止のサイクルが早くて困る●ロット単位ではずれ引いたりする●思ったよりも荒い扱いしても大丈夫 (市販品

でも質は高い)●配線が結構面倒 & 酷くなりがち●物理的に違うホストと間違えやすい● NICが壊れる● Realtekは弱い (でも実績で270Mbpsは出た)●新しいパーツを直ぐ試せる (SSDとか)

Page 35: hbstudy25 劇的ビフォーアフター

悩みどころ(限界)

● L3スイッチは比較的高価なのでL2でカスケード繰り返してたらアドレスが足りなくなった & 輻輳が酷くなった

●共用の回線を沢山引いていたら(外→室内の)ファイバを通す余裕がもうないと言われた

●電源まわりが非常に不安●セキュリティ的にも非常に不安●リモートで電源操作できないのは不便●正直地震は怖かった

Page 36: hbstudy25 劇的ビフォーアフター
Page 37: hbstudy25 劇的ビフォーアフター

After

- データセンタでの運用 -

Page 38: hbstudy25 劇的ビフォーアフター

データセンタ移行

●建物的なキャパの限界●局舎側のキャパの限界●ネットワーク(輻輳)の改善●移行に伴い浮いたハードウェアリソースを利

用して配線等を見直し● (色んな意味で)信頼性の向上●ハイブリッド構成

Page 39: hbstudy25 劇的ビフォーアフター

スパゲッティーコード(笑)

Page 40: hbstudy25 劇的ビフォーアフター

meets

Page 41: hbstudy25 劇的ビフォーアフター

L3スイッチ & モール !

Page 42: hbstudy25 劇的ビフォーアフター
Page 43: hbstudy25 劇的ビフォーアフター

HP A5500-24G E

● VRRPで冗長化 & スパニングツリー● 定価60万強● 24ポート Gigabit L3 Layer Switching Hub● オフィスサーバルーム、データセンタ間の専用線接続● スター型へトポロジーの変更● サブネットの分割● かなりCiscoライクでマニュアルを頑張って読めばなんとかなる● 元々はH3C社の製品

Page 44: hbstudy25 劇的ビフォーアフター

ルータワー(笑)

Page 45: hbstudy25 劇的ビフォーアフター

meets

Page 46: hbstudy25 劇的ビフォーアフター

IDCフロンティア !

●契約帯域 Max 8Gbps !● 4ラック 100台強稼動●コアな機能はほぼすでにこちらで動いている●会社から近い●外側のスイッチの運用はお任せしている●データセンタ移行記

   http://dev.pixiv.net/archives/1140352.html

● 6GbpsをさばくオレオレCDN構築術http://www.slideshare.net/semind/20101220-pixiv-techmeeting-6267332

Page 47: hbstudy25 劇的ビフォーアフター

HP Proliant DL120 G6

●現在の主力機●定価10万強● iLO (リモート電源管理, Serial over LAN)● 3.5インチベイに2.5インチ変換アダプターで

SSDを接続

Page 48: hbstudy25 劇的ビフォーアフター

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

Page 49: hbstudy25 劇的ビフォーアフター

HP ProCurve Switch 2510G-48

● 各ラックのLANを受けるのに利用● 定価20万強● 48ポート -> L3スイッチを通るトラフィックが減少● L3スイッチのとの間でリンクアグリゲーション (L2 ⇔ L3 2G)● mysqlのコネクション接続の失敗が減少した

Page 50: hbstudy25 劇的ビフォーアフター

ドーピングTips集

Page 51: hbstudy25 劇的ビフォーアフター

少ないハードウェアリソースで捌くコツ

1.キャッシュする2.TCP接続しない3.ピンポイントで良い物使う

Page 52: hbstudy25 劇的ビフォーアフター

nginxでローカルキャッシュ● 画像配信系サーバで実施● 参照頻度が高く、種類の少ないファイル(js, css, ランキングサム

ネイル, 広告系の画像etc)● Disk IOが増えがちなのでメモリ増強 + SSD投入● nginxの設定でIO減少

proxy_temp_path /dev/shm/nginx_proxy_temp; proxy_cache_min_uses 5;

Page 53: hbstudy25 劇的ビフォーアフター

APC + TokyoTyrantで2段キャッシュ

● 広告配信系サーバで実施● APC (Apacheのメモリ空間上にキャッシュ、揮発性)● 元々はMemcahed(unix domain soket)を使っていた● DL120G6でピーク時 1200req / sec (1台あたり、まだ余裕)

Page 54: hbstudy25 劇的ビフォーアフター

APC + TokyoTyrantで2段キャッシュ

APC

>

Key Value Store (Unix Domain Socket)

>

Key Value Store (TCP)

>>>>>>>越えられない壁>>>>>>>

MySQL

Page 55: hbstudy25 劇的ビフォーアフター

memagentで持続的接続

●セッション用KVS、APサーバ間等で利用● TCPの持続的接続●コネクション数の節約

Page 56: hbstudy25 劇的ビフォーアフター

Intel NIC EXPI9301CT

●オフィスサーバルーム時代に大活躍● 3500円くらい● LVS、画像のフロントサーバなどに利用●インテルは強い子

Page 57: hbstudy25 劇的ビフォーアフター

Broadcom BCM5709

● LVSで利用● 1万● on Ubuntu 10.10 にて CPUコア分散● generic-receive-offloadをoffにしている

MTUサイズを越えるSQLクエリーの再送が頻発 $ ethtool -k eth0

Page 58: hbstudy25 劇的ビフォーアフター

MTU 6144

●いわゆるジャンボフレーム●できないNICもままあるので注意●大きいファイルの転送などには効果あり●黒魔術系 (リブート病、再送の頻発)

Page 59: hbstudy25 劇的ビフォーアフター

RealSSDシリーズ

●メモリには乗り切らない...でもDisk IOが多い所に利用

●画像キャッシュサーバ、DBスレーブ●ラックマウントサーバの3.5インチベイでもなん

とか使えるかも

Page 60: hbstudy25 劇的ビフォーアフター

Secure Erase

● SSDは書き込みを繰り返すと劣化 -> Disk IOが酷い事に

● Secure Erase (完全消去) を実行●結構劇的な効果あり

Page 61: hbstudy25 劇的ビフォーアフター

近況と今後の展望

Page 62: hbstudy25 劇的ビフォーアフター

近況と今後の展望

●全文検索をTorittonからSolrへ切り替え○インデックス生成バッチ処理にscala

● Key Value Store を Kyoto Tycoonへ●ドーピング的な最適化から緻密な最適化へ

○パケットのdump○ログ集計、負荷の可視化○ slow queryの条件を厳しく○オープンソースの挙動を追う ○メンテナンスセグメント構築

Page 63: hbstudy25 劇的ビフォーアフター

近況と今後の展望 2

●管理コスト減○フレームワークの導入 (rails, silex)○開発、デプロイ方法の整備○監視設定の整備、自動化

●データ、ログ解析○レコメンデーション○最適化○ユーザの動向の把握

●海外展開に向けてCDNとかディザスタとか

Page 64: hbstudy25 劇的ビフォーアフター

まとめ

●安くても良い物はたくさんある●でも限界もやっぱりある●要は適材適所、ケースバイケース●リソースの制限はエンジニアの成長を促す●なんだかんだで自作(選択肢が制限されな

い、自由)というのは存分にメリットあり

Page 65: hbstudy25 劇的ビフォーアフター

では一緒に働いてくれるエンジニアを募集しています

http://recruit.pixiv.net/

Page 66: hbstudy25 劇的ビフォーアフター

ご静聴ありがとうございました