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
スケールしない広告サーバの作り方
Search
Satoshi
March 03, 2016
Technology
0
230
スケールしない広告サーバの作り方
スケールしない広告サーバを作ってしまうアンチパターンについてまとめています.
Satoshi
March 03, 2016
Tweet
Share
More Decks by Satoshi
See All by Satoshi
高速な広告配信サーバの作り方のコツ
satoshi03
3
500
Gunosy AdServerのデータ周りの話
satoshi03
2
3k
フルスクラッチで書いたアドサーバの開発・運用史
satoshi03
2
4.4k
Gunosy.go #2 container
satoshi03
1
71
Gunosy Go Lang Study #6 net net/http net/url
satoshi03
0
150
Other Decks in Technology
See All in Technology
ファインディにおけるフロントエンド技術選定の歴史
puku0x
2
1.5k
「リリースファースト」の実感を届けるには 〜停滞するチームに変化を起こすアプローチ〜 #RSGT2026
kintotechdev
0
1k
[PR] はじめてのデジタルアイデンティティという本を書きました
ritou
1
810
Security Hub と出会ってから 1年半が過ぎました
rch850
0
140
田舎で20年スクラム(後編):一個人が企業で長期戦アジャイルに挑む意味
chinmo
1
1.5k
Java 25に至る道
skrb
3
220
I tried making a solo advent calendar!
zzzzico
0
150
20260114_データ横丁 新年LT大会:2026年の抱負
taromatsui_cccmkhd
0
290
1万人を変え日本を変える!!多層構造型ふりかえりの大規模組織変革 / 20260108 Kazuki Mori
shift_evolve
PRO
6
1.5k
Node vs Deno vs Bun 〜推しランタイムを見つけよう〜
kamekyame
1
510
AI Agent Agentic Workflow の可観測性 / Observability of AI Agent Agentic Workflow
yuzujoe
2
2k
AI との良い付き合い方を僕らは誰も知らない (WSS 2026 静岡版)
asei
1
330
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1032
470k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Facilitating Awesome Meetings
lara
57
6.7k
Context Engineering - Making Every Token Count
addyosmani
9
600
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
RailsConf 2023
tenderlove
30
1.3k
The browser strikes back
jonoalderson
0
310
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
2.9k
The SEO Collaboration Effect
kristinabergwall1
0
330
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
610
Transcript
印南 @ Gunosy 広告技術部 スケールしない広告サーバの作り方
自己紹介 • 印南聡志(いんなみ さとし) • Gunosyのアドエンジニア • 2014年6月 入社 •
Gunosyのアド配信サーバ周り全般担当 • 言語 • Go • Python • 最近ランニングにはまっております
今日のお話 スケールしない 広告サーバの作り方 ※ここでのスケールはスケールアウトのことです
注意 スケール時のアンチパターンをまとめております! 弊社の広告サーバがスケールしないわけではありません!
あなたの会社の広告サーバは スケールしていますか?
スケールしないと… 急なリクエスト増に耐えられない
レイテンシ(遅延)が発生
エンジニアの死
油田王になりたくなる
作り方を知れば あなたにも簡単に作れます!
スケールしない広告サーバの作り方① ボトルネックをガンガン作ろう!
ボトルネックをガンガン作ると… アクセス増のタイミングで ボトルネック部分が突然詰まる!
ボトルネックを作るには?
ボトルネックを作るには? (その1) 配信サーバからデータストアに ガンガン書き込みを走らせよう!
配信サーバ 配信データ DB READ WRITE ボトルネック 書き込みが分散できず 詰まる
ボトルネックを作るには? (その2) 全データを一つの データストアに入れよう!
広告情報 配信候補 消化予算 ユーザ属性 FQ リタゲ … データサイズ… ライフサイクル… 重要度…
配信データDB アクセスが集中 メンテが困難
ボトルネックを作るには? (その3) 全ての処理を同期的に行おう!
ログDB WRITE ボトルネック 配信サーバ ELB 書込み完了を 待機
スケールしない広告サーバの作り方② サーバ追加が超絶難しい 環境を作ろう!
どうやって作るか?
サーバを追加するのに 物理的にサーバを購入するために 承認が必要な環境を整えよう! サーバ追加を超絶難しくするには? 3人以上の承認が 必要なのがベター
サーバごとに独自の環境設定を (バレにくいように)埋めこもう! サーバ追加を超絶難しくするには?
どこに隠しておくのが良いのか? • configファイル • 環境変数 • cron /etc/xx/include あたりがGood 実行ユーザを
変えて撹乱
サーバ追加を超絶難しくするには? 継続的インテグレーション(CI)環境 を作らないようにしよう! 自動ビルド 自動テスト 自動デプロイ
まとめ スケールしない広告サーバを作るには? ボトルネックをガンガン作ろう! サーバ追加が超絶難しい環境を整えよう!
最後に スケールする広告サーバに興味があれば 懇親会でお声掛けください
We Are Hiring!!! Gunosyではスケールする広告サーバを 開発するエンジニアを 募集しております!!