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
September 25, 2014
Technology
2
4.4k
フルスクラッチで書いたアドサーバの開発・運用史
アドサーバの開発・運用で得た知見について説明しています。
Satoshi
September 25, 2014
Tweet
Share
More Decks by Satoshi
See All by Satoshi
高速な広告配信サーバの作り方のコツ
satoshi03
3
500
スケールしない広告サーバの作り方
satoshi03
0
230
Gunosy AdServerのデータ周りの話
satoshi03
2
3k
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
20251225_たのしい出張報告&IgniteRecap!
ponponmikankan
0
110
スクラムマスターが スクラムチームに入って取り組む5つのこと - スクラムガイドには書いてないけど入った当初から取り組んでおきたい大切なこと -
scrummasudar
0
1.1k
Cloud WAN MCP Serverから考える新しいネットワーク運用 / 20251228 Masaki Okuda
shift_evolve
PRO
0
130
AWS re:Inventre:cap ~AmazonNova 2 Omniのワークショップを体験してきた~
nrinetcom
PRO
0
130
[PR] はじめてのデジタルアイデンティティという本を書きました
ritou
0
750
Scrum Guide Expansion Pack が示す現代プロダクト開発への補完的視点
sonjin
0
320
あの夜、私たちは「人間」に戻った。 ── 災害ユートピア、贈与、そしてアジャイルの再構築 / 20260108 Hiromitsu Akiba
shift_evolve
PRO
0
370
Keynoteから見るAWSの頭の中
nrinetcom
PRO
1
160
Next.js 16の新機能 Cache Components について
sutetotanuki
0
210
I tried making a solo advent calendar!
zzzzico
0
130
「駆動」って言葉、なんかカッコイイ_Mitz
comucal
PRO
0
130
Node vs Deno vs Bun 〜推しランタイムを見つけよう〜
kamekyame
1
180
Featured
See All Featured
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
0
220
AI: The stuff that nobody shows you
jnunemaker
PRO
1
150
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
39
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
220
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
46
RailsConf 2023
tenderlove
30
1.3k
Believing is Seeing
oripsolob
0
19
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
30 Presentation Tips
portentint
PRO
1
180
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
360
Transcript
フルスクラッチで書いた アドサーバの開発運⽤用史 株式会社Gunosy 2014 年年 9⽉月
©Gunosy Inc. 印南聡志(いんなみ さとし) アドエンジニア 2014年年6⽉月⼊入社(4ヶ⽉月⽬目) ⾔言語 l Java l Python
Git Hubアカウント l satoshi03 ⾃自⼰己紹介
©Gunosy Inc. 業務 • 「広告による収益を最⼤大化する」 • AdServerの開発・運⽤用 • 配信周りの開発 •
広告推薦ロジック開発 • 広告枠の開発 • ログ集計・分析 • チーム⼈人数 • 3 ~∼ 4⼈人 アドチームとは
©Gunosy Inc. 罠にかかって学んだ広告事業で⼤大切切な2つのこと 本⽇日話したい内容
©Gunosy Inc. Gunosyの広告事業 ⾃自社製のAdServerを開発・運⽤用 Gunosy Ads l ⾃自社メディア(Gunosyアプリ)に広告配信 Gunosy Ad
network l 他社メディアに広告配信 今回のお話
©Gunosy Inc. 広告事業で⼤大切切なこと 広告による収益の最⼤大化 良良い広告を⼤大量量に配信すること
©Gunosy Inc. 良良い広告とは? メディア (Gunosy) ・ ユーザのクリック率(CTR)が高い ・
広告の単価が高い 第一の罠 単価の高い広告をクリックさせればいい
©Gunosy Inc. メディア視点での収益⾄至上主義の罠 メディアの収益性を上げたい!! とにかくクリックされやすい広告を出す クリック率率率が上昇しメディアの収益が増加 しかし、、、
©Gunosy Inc. しかし、、 次第に収益が低下
©Gunosy Inc. このとき起きていること ユーザ メディア (Gunosy) 広告主 ・ ユーザのクリック率が高い
・ 広告の単価が高い ・ ニーズにマッチしていない ・ ストレスが多い ・ ユーザのコンバージョン率 が低い • ストレス増加によるユーザの離脱 • 効果があわないことによる広告主の離脱
©Gunosy Inc. ⼤大切切なこと:その1 ユーザ メディア (Gunosy) 広告主 ・ ユーザのクリック率が高い
・ 広告の単価が高い ・ ニーズにマッチしている ・ ストレスが少ない ・ ユーザのコンバージョン率 が高い 良い広告の定義はユーザ・広告主・メディアによって異なる ユーザ・広告主・メディア全ての利益を最大化!「三方良し」
©Gunosy Inc. 【参考】良良い広告を判断するための指標 DAU (Daily Active User) 1⽇日のアクティブユーザ数 CVR (ConveRsion
Rate) クリックに対するコンバージョンの割合 ユーザ 広告主 メディア eCPM (effec2ve Cost Per Mill) 1000回インプレション(表示)あたりの収益 CTR (Click Through Rate) インプレッション(表示)に対するクリックの割合 CPA (Cost Per Acquisi2on) 1コンバージョンにかかったコスト
©Gunosy Inc. 広告事業で⼤大切切なこと 広告による収益の最⼤大化 良良い広告を⼤大量量に配信すること
©Gunosy Inc. ⼤大量量に配信するとは? • 配信にレイテンシを出さない(< 50msec) • 表⽰示枠(在庫)を増やす • (もちろん)⽌止まらない
©Gunosy Inc. アクセス数の急激な増加 5⽉月から4ヶ⽉月で5倍以上のアクセス数の増加 数千万リクエスト/ 日 数億リクエスト/日 5月 9月
©Gunosy Inc. アクセス数の時間ごとの急激な増加 ピーク時には通常時の3倍〜~5倍のアクセス 21:00 17:00 12:00
8:00 リクエスト数 時間
©Gunosy Inc. 第二の罠 サーバを横に並べればなんとかなる!
©Gunosy Inc. サーバ台数を20台に、、 _⼈人⼈人⼈人⼈人⼈人⼈人_ > レイテン⽒氏来訪 <  ̄Y^Y^Y^Y^Y ̄
©Gunosy Inc. そのとき何がおこっていたか 問題:R/WをするRedisにアクセスが集中 Write/Bulk Read待ちが発⽣生し遅延が発⽣生 ・・・・・ Elastic Load Balancing
EC2 instance Redis on EC2 instance Redis Read Replica
©Gunosy Inc. 対策 ・・・・・ Elastic Load Balancing EC2 instance Redis
on EC2 instance Redis Read Replica Amazon S3 bucket 配信側でRedisのReadをファイルで処理 s3からダウンロードして各インスタンスでロード レイテンシ が50msec以内に!!
©Gunosy Inc. ⼤大切切なこと:その2 たとえキャッシュでも1箇所を参照するような構成にしない スケールアウトの過程で必ずボトルネックに
©Gunosy Inc. まとめ 罠にかかって学んだ広告事業で⼤大切切な2つのこと 1. ユーザ・広告主・メディア全ての利利益を最⼤大化 2. キャッシュでも1箇所を参照するような構成にしない
©Gunosy Inc. We are hiring!!! 良良い広告を⼤大量量に配信する仕組みを 作りたいエンジニアWanted!!