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