Submit Search
Ad tech 勉強会 20140115
•
4 likes
•
4,523 views
A
ajiyoshi
Follow
2014/01/15 ramake of pyfes 201307 slide
Read less
Read more
1 of 29
Download now
Downloaded 14 times
More Related Content
Ad tech 勉強会 20140115
1.
Erlang & RTB @ajiyoshi ! 2014/01/15
2.
広告 HERE!
3.
RTB • Real Time
Bidding • ご存知のとおり、広告の価格をリアル タイムのオークションで決める仕組み
4.
広告リクエスト Browser 媒体側 広告 サーバ (SSP)
5.
Bid リクエスト Browser 媒体側 広告 サーバ (SSP) 広告主側 広告サーバ (DSP)
6.
Bid 10 Browser 媒体側 広告 サーバ (SSP) 20 30 広告主側 広告サーバ (DSP) 15
7.
オークション 10 Browser 媒体側 広告 サーバ (SSP) 20 30 15 広告主側 広告サーバ (DSP) ※generally “second price
auction” second highest bid price will be the contract price
8.
勝者の広告を表示 10 Browser 媒体側 広告 サーバ (SSP) 20 30 15 広告主側 広告サーバ (DSP)
9.
問題 • これを作るとして、どう設計するか
10.
cf. DSP • http://d.hatena.ne.jp/yamaz/20111026 •
RTB用のADサーバこそ最強である必 要がある件
11.
cf. DSP • 全SSP分のbidリクエストを受けきるパ ワーが必要 •
普通のadサーバとして非常に強力であ る必要がある
12.
SSP • 100億RTB imp
x DSP10社 → 1000億bid • 外部ネットワークアクセス • ラック内ではない • 同じL2にぶら下がるわけでもない • 普通のadサーバならやりたくない
13.
要件 • 堅牢であること • 高速であること •
< 100msec (可能なら) • ネットワークIOでブロックしないこと • 適切なタイムアウト処理(超重要)
14.
Erlangで作りました • 堅牢、安定 • 軽量プロセス •
非同期プログラムを簡潔に記述可能
15.
性能&実績 • 2011年10月リリース • 2014年1月現在 •
ピーク時 30,000 bid/秒 • 15億 bid/日 • 0.9億 rtb imp/日 27億 rtb imp/月
16.
勝者の広告を表示 10 Browser 媒体側 広告 サーバ (SSP) 20 30 15 広告主側 広告サーバ (DSP)
17.
bid数
18.
Erlang • 関数型言語 • とされているが再代入がないだけ •
軽量プロセス • 思いのほか実用志向言語
19.
実用?
20.
プロトから製品へ • どのライブラリを使う? • 全部自分で書くわけにはいかない •
依存関係はどうする? • ステージングはどうする? • それぞれの設定 • リリース(デプロイ)はどうする?
21.
例:依存関係 • 2世代前:CPANとかgemでシステムにインス トール • 1世代前:pyenvとかrbenvとかperlbrewで個別の 環境を構築 •
現在:pip Bundler Cartonなどでアプリケーショ ンと同梱 • 現在’:仮想環境と自動化
22.
例:Webアプリケーショ ン • フレームワークの設定 • ポート、ホスト名、ルーティング等 •
アプリケーション固有の設定 • DB関連とか色々 • ロギングなど周辺設定 • 出力先、ローテーション、fluentd の設定等
23.
Erlang • 全部OTPアプリケーション • 起動方法、設定方法などが共通化、抽象 化されている •
依存関係をアプリケーションに記述する • 依存関係の初期化や起動は標準で面倒み てくれる
24.
Erlangの難点 • 日本語ドキュメントが少ない • @voluntasさんの記事 •
@ymotongpoo さんの翻訳 • 本(飛行機、オライリー、@ymotongpoo ← New!) • 公式ドキュメントは豊富だが • rebarを多用するのに、rebarのドキュメントは事実 上ソースコードのみ
25.
ライブラリとか • ロギング • lager •
HTTPD • yaws → cowboy • 内部シリアライズフォーマット • msgpack-erlang • 外部(DSP側)シリアライズフォーマット • msgpack、JSON、protobuf
26.
テストとか • EUnit • CommonTest
proper 使ってる人も • meckというモックツールも • 遅いので私は嫌い
27.
Erlang VMとか • R14B04 •
2011年10月∼ • R15B • 2012年3月∼ • R16B • 2013年6月∼ • そのうちに R16B01に上げる予定
28.
VMパラメタ • sbwt none •
実験的パラメタ • ものすごい効いた • kernel epoll true • あとは普通
29.
まとめ • Erlangは実用的 • 広告業界はハードコアな技術が求められ るので腕に覚えのあるお前らにおすすめ •
安定性、負荷、ネットワーク、ハード ウェア、統計、解析、ビジネスの総合力 • ご質問があればどうぞ
Download