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.9k
Yahoo砲に耐えられるインフラの話
tusui
November 03, 2016
Tweet
Share
Other Decks in Programming
See All in Programming
テーブル定義書の構造化抽出して、生成AIでDWH分析を試してみた / devio2025tokyo
kasacchiful
0
270
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
880
EMこそClaude Codeでコード調査しよう
shibayu36
0
340
bootcamp2025_バックエンド研修_WebAPIサーバ作成.pdf
geniee_inc
0
120
Software Architecture
hschwentner
6
2.3k
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
270
CSC305 Lecture 06
javiergs
PRO
0
270
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
130
開発組織の戦略的な役割と 設計スキル向上の効果
masuda220
PRO
7
1.2k
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
190
CSC509 Lecture 06
javiergs
PRO
0
260
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
450
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
610
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
Building Better People: How to give real-time feedback that sticks.
wjessup
369
20k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Optimizing for Happiness
mojombo
379
70k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
Being A Developer After 40
akosma
91
590k
Music & Morning Musume
bryan
46
6.9k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
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など • セキュリティ対策の自動化
おわりに ご清聴ありがとうございました