Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Yahoo砲に耐えられるインフラの話
Search
tusui
November 03, 2016
Programming
0
2.6k
Yahoo砲に耐えられるインフラの話
tusui
November 03, 2016
Tweet
Share
Other Decks in Programming
See All in Programming
Git Lint
bkuhlmann
4
750
スクラムガイドのスプリントレトロスペクティブを改めて読みかえしてみた / Re-reading the Sprint Retrospective Section in the Scrum Guide
mackey0225
3
430
見た目から始める生産性向上
ikumatadokoro
7
850
ゆるい個人開発のススメ
kuroppe1819
10
990
二郎系ラーメンのコールで学ぶ AST 解析
memory1994
PRO
7
1.7k
Netty Chicago Java User Group 2024-04-17
sullis
0
180
Polars入門
daikikatsuragawa
1
100
Fragment Composition of GraphQL
quramy
7
1k
障害対応を起点としたもっといい開発と運用のサイクル作りのためにできること / Hatena Enginner Seminar #29
polamjag
0
180
2 週間で Twitter Bot を作ってみた
contour_gara
0
520
デフォルトにして至高、RubyMineの大好きな所
ruzia
0
400
ADRを一年運用してみた/adr_after_a_year
hanhan1978
7
2.4k
Featured
See All Featured
WebSockets: Embracing the real-time Web
robhawkes
59
7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
17
1.4k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
What the flash - Photography Introduction
edds
64
11k
RailsConf 2023
tenderlove
4
540
Teambox: Starting and Learning
jrom
128
8.4k
Designing Experiences People Love
moore
136
23k
Building a Modern Day E-commerce SEO Strategy
aleyda
17
6.4k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
274
13k
How to name files
jennybc
65
93k
A better future with KSS
kneath
231
16k
Transcript
Yahoo砲に耐えられる インフラの話 2016/11/02
アジェンダ • 自己紹介 • Yahoo砲に耐えられていなかった歴史 • Yahoo砲に耐えられるインフラへ • おわりに
自己紹介 2014年10月入社 技術部SREチーム 2008年ぐらいからインフラ周り サッカーや登山してます twitter : @_tusui
Yahoo砲に耐えられていなかった歴史 2012年6月 弁護士ドットコムニュース Yahoo配信開始
Yahoo砲に耐えられていなかった歴史 最初期のサーバ構成 (多分) 前提:環境はAWSです
Yahoo砲に耐えられていなかった歴史 初めてのYahooトピックス掲載 コンプガチャ返金請求は可能?
Yahoo砲に耐えられていなかった歴史 結果: サービスダウン
Yahoo砲に耐えられていなかった歴史 このときの限界: 500 セッション(GoogleAnalytics) 50 Mbps これぐらいで落ちてしまっていた……
Yahoo砲に耐えられていなかった歴史 対策1: スケールアウト
Yahoo砲に耐えられていなかった歴史 AWS Auto Scaling • WebAppサーバのスケールアウト • CloudWatchと組合せ • Latencyに閾値設定して発動
• 通常時WebAppサーバ2〜6台
Yahoo砲に耐えられていなかった歴史 対策2: CDN + htmlキャッシュ
Yahoo砲に耐えられていなかった歴史 AWS CloudFront • 静的ファイルの配信 htmlキャッシュ • ニュース記事のhtmlを作成し、 それを返す •
Apacheと少しのPHP処理 だけで返す
Yahoo砲に耐えられていなかった歴史 どうなったか
Yahoo砲に耐えられていなかった歴史 結果: サービスダウン
Yahoo砲に耐えられていなかった歴史 このときの限界: 3000 セッション(GoogleAnalytics) 300 Mbps
Yahoo砲に耐えられていなかった歴史 原因 AutoScaleよりアクセス増の方が早い
Yahoo砲に耐えられていなかった歴史 • 全然間に合わない ◦ サーバ起動にも時間がかかる ◦ swap作成など • ELBのスケールアップも間に合わないときがある (と思っている)
• WebAppサーバの数さえ増やせればさばける ◦ DBがボトルネックになるサービス規模ではない
Yahoo砲に耐えられていなかった歴史 結局どう対応していたか?
Yahoo砲に耐えられていなかった歴史 • YahooのページとGoogle Analyticsを監視 ◦ Yahoo掲載情報をチャットに通知 ◦ 同時セッション数をチャットに通知 ▪ 流入が増えそうならば、手動で
AutoScaleの設定変更 ▪ 大丈夫そうならそのまま
Yahoo砲に耐えられていなかった歴史 Autoとは?
Yahoo砲に耐えられるインフラへ 2015年 Yahoo砲に耐えられるインフラへ 改善着手 今までインフラ専任の人はいなかった
Yahoo砲に耐えられるインフラへ 何をしたか?
Yahoo砲に耐えられるインフラへ • カーネルパラメータのチューニング ◦ somaxconn ◦ tcp_tw_reuse など • Varnishを前方に配置
◦ ニュース記事ページをキャッシュ ▪ WebAppサーバまでいかせない ◦ CloudFrontが返していたファイルもキャッシュ ◦ 動的生成するものも短時間キャッシュ
Yahoo砲に耐えられるインフラへ • Varnishサーバ ◦ 2台 ◦ 中にnginxも • WebAppサーバ ◦
5〜6台
Yahoo砲に耐えられるインフラへ どうなったか
Yahoo砲に耐えられるインフラへ 結果: 耐えられるように なった
Yahoo砲に耐えられるインフラへ • 雑談しながら見てる • サーバ台数もそのまま
Yahoo砲に耐えられるインフラへ 今のところの実績: 27000 セッション(GoogleAnalytics) 1.5 Gbpsくらい
おわりに 今後の展望 • Infrastructure as Code ◦ サーバテストのCI • 適材適所なアーキテクチャ
◦ microservice ◦ Dockerなど • セキュリティ対策の自動化
おわりに ご清聴ありがとうございました