Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Norikra in Gunosy Network Ads@Norikra meetup #2
Search
shunsukeaihara
June 03, 2015
Programming
1
6k
Norikra in Gunosy Network Ads@Norikra meetup #2
shunsukeaihara
June 03, 2015
Tweet
Share
More Decks by shunsukeaihara
See All by shunsukeaihara
BONXを支える技術:発話区間検出(VAD)の話/Akerun & BONX Tech Talk
shunsukeaihara
4
7.7k
Goのnet.TCPConnの話/shibuya.go01
shunsukeaihara
3
830
LevelDB on S3 As A KVS
shunsukeaihara
1
2.8k
色恒常性仮説に基づく色補正ライブラリcolorcorrect / 2015-01-31-kantocv27
shunsukeaihara
3
2.5k
Sparkによる分散処理 / 2015-01-16 PyData.Tokyo#3
shunsukeaihara
11
3.5k
ゼロから始めた Gunosyアドサーバ開発運用記 / 2014-12-16-dots
shunsukeaihara
6
1.2k
Gunosy.Go#5 index/io/log
shunsukeaihara
0
170
Gunosy.go#2 package/compress
shunsukeaihara
0
110
Other Decks in Programming
See All in Programming
認証・認可の基本を学ぼう前編
kouyuume
0
150
レイトレZ世代に捧ぐ、今からレイトレを始めるための小径
ichi_raven
0
490
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
8
18k
ソフトウェア設計の課題・原則・実践技法
masuda220
PRO
24
21k
「文字列→日付」の落とし穴 〜Ruby Date.parseの意外な挙動〜
sg4k0
0
360
WebRTC、 綺麗に見るか滑らかに見るか
sublimer
1
140
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
260
Herb to ReActionView: A New Foundation for the View Layer @ San Francisco Ruby Conference 2025
marcoroth
0
240
関数実行の裏側では何が起きているのか?
minop1205
1
560
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
310
[SF Ruby Conf 2025] Rails X
palkan
0
440
Media Capture and Streams: W3C仕様と現場での知見
nowaki28
0
130
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
BBQ
matthewcrist
89
9.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.8k
How to Ace a Technical Interview
jacobian
280
24k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
How STYLIGHT went responsive
nonsquared
100
5.9k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.1k
Docker and Python
trallard
46
3.7k
How GitHub (no longer) Works
holman
316
140k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Transcript
Norikra in Gunosy Network Ads Shunsuke Aihara@Gunosy
͜ΜΜɺGunosyͰ͢
χϡʔε͚ͩ͡Όͳͯ͘Ξυࣄۀͬͯ·͢
ࣗݾհ • Shunsuke Aihara • Gunosyͷࠂ৴ؔ࿈։ൃϚωʔ δϟʔ • ը૾ॲཧɾԻॲཧɾݴޠॲཧͷ ϥΠϒϥϦ͍Ζ͍Ζॻ͍ͯΔ
• https://bitbucket.org/aihara • ݏ͍ͳͷ • ͷHadoopΫϥελ
Agenda • Ϣʔεέʔε • ಋೖڥ • Πϯϑϥߏ • ӡ༻ɾࢹͱ͔
ΞυωοτϫʔΫͰͷϢʔεέʔε • CTRফԽֹɺCPAͷϦΞϧλΠϜϑΟʔυόοΫ • ΫϦΤΠςΟϒ࠷దԽͷͨΊͷόϯσΟοτ • ৴୯Ձࣗಈௐ • ϦΞϧλΠϜͷՄࢹԽɾੳͷχʔζ(kibanaͱ͔) •
৴ঢ়گѲɾϩδοΫҟৗͷ֬ೝ • ແବʹπʔϧ࡞Γ͜Έͨ͘ͳ͍͍͠߹ΘͤݮΒ͍ͨ͠
ಋೖڥ • AWSڥ • ΞυωοτϫʔΫ༻ΞυαʔόΛGolangͰϦϓϨΠε • APIαʔόͰग़དྷΔݶΓബ͘࡞Δ͜ͱͰߴԽ • ͦͬͪͷৄࡉ·ͨผͷػձͰ
Ξυαʔό • EC2 c4.large 1ͨΓ • 1000req/sec • 2000ʙ2500logs/sec •
Norikraʹ͍͛ͯΔͷ 1000~1500logs/sec
લఏ • ͍ΖΜͳ࠷దԽɾλʔήςΟϯάग़དྷΔݶΓཪଆͰ • ूܭɾөͰ͖Δ͚ͩૣ͘ • ͱͱRedshift + ಠࣗͷूܭɾՄࢹԽܥ •
Redshiftӡ༻ׂͱμϧ͍ • ϩάྔଟͯ͘kibana4ʹੜϩάಥͬࠐΉͱࢮ͵ • Spark StreamingStorm͏ఔͰͳ͍
NorikraͰαϚͬͯΈΑ͏
ଟஈNorikra • 2ʙ3ͷAPIαʔόʹରͯ͠1ͷfluentd+Norikraαʔό
APIαʔόͷө • λʔήςΟϯάɾόϯσΟοτ࠷ దԽ༻σʔλPythonΫϥελͰॲ ཧͯ͠LevelDBܗࣜͰS3ʹஔ • NorikraҎ֎ͷσʔλιʔε͔Βͷσ ʔλෳͷϥΠϑαΠΫϧͰ LevelDBʹݻΊͨΓRedisʹೖͨ͠ Γ
kibana4 • ࠷ऴஈͷnorikraͰαϚͬͨΛ1ຖ ʹkibana4ʹೖ • ඇΤϯδχΞͰ࠷ݶඞཁͳใ ͕υϦϧμϯ
OpsWorksͰϙνϙναʔόߏங1 • Custom CookbookΛ࡞Γ͜ΜͰϥʔϝϯτοϐϯάؾͰ αʔόΛཱͯΔ
OpsWorksͰϙνϙναʔόߏங2 • ઃఆશͯcustom jsonʹ͘͘Γͩ͠
ࢹ1 • DatadogͰαʔόͷࢹɾΞϥʔτ • fluentdͷΩϡʔαΠζͱ͔ • JVMͷঢ়گϞχλϦϯάͯ͠νϡʔχϯάͨ͠Γ • ҎԼͷΦϓγϣϯͤΔΑ͏ʹͪΐͬ͜ͱNorikra͍͡Δ -Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=PORTNUM -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
ࢹ2 • papertrailͰfluentdͱnorikraͷϩάΛࢹ • Full GC͕Δͱ௨ • fluentd͕٧·ΔͱΞϥʔτ • ࣗલͷshellεΫϦϓτͰfluentdͷࢮ׆ࢹɾࣗಈ࠶ىಈ
• Norikraͷग़ྗͷҰ෦DatadogʹૹͬͯΞϥʔτઃఆ ͜Μͳײ͡Ͱϲ݄҆ఆͯ͠ಈ͍ͯΔ
datadog dashboardʹiframe ຒΊࠐΊͯศར
·ͱΊ • ใͰྑ͍౷ܭNorikraͰϦΞϧλΠϜʹαϚͬͯΞ υαʔόʹϑΟʔυόοΫ • ඇΤϯδχΞͷӡ༻νʔϜ͕kibana4ͰϙνϙνμογϡϘʔ υ࡞ͬͯӡ༻ग़དྷΔΑ͏ʹͳͬͨ • OpsworksڥͰNorikraͷڥΛϙνϙνߏங •
ҰਓͰΞυαʔόͷ։ൃӡ༻ग़དྷΔ • DatadogͰࢹɾνϡʔχϯά͕ḿΔ