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
Norikra in Gunosy Network Ads@Norikra meetup #2
Search
shunsukeaihara
June 03, 2015
Programming
1
5.9k
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.5k
Goのnet.TCPConnの話/shibuya.go01
shunsukeaihara
3
770
LevelDB on S3 As A KVS
shunsukeaihara
1
2.7k
色恒常性仮説に基づく色補正ライブラリcolorcorrect / 2015-01-31-kantocv27
shunsukeaihara
3
2.3k
Sparkによる分散処理 / 2015-01-16 PyData.Tokyo#3
shunsukeaihara
11
3.4k
ゼロから始めた Gunosyアドサーバ開発運用記 / 2014-12-16-dots
shunsukeaihara
6
1.1k
Gunosy.Go#5 index/io/log
shunsukeaihara
0
150
Gunosy.go#2 package/compress
shunsukeaihara
0
95
Other Decks in Programming
See All in Programming
テストコード書いてみませんか?
onopon
2
340
「とりあえず動く」コードはよい、「読みやすい」コードはもっとよい / Code that 'just works' is good, but code that is 'readable' is even better.
mkmk884
6
1.4k
カンファレンス動画鑑賞会のススメ / Osaka.swift #1
hironytic
0
170
責務を分離するための例外設計 - PHPカンファレンス 2024
kajitack
9
2.3k
ErdMap: Thinking about a map for Rails applications
makicamel
1
590
ATDDで素早く安定した デリバリを実現しよう!
tonnsama
1
1.8k
AWS re:Invent 2024個人的まとめ
satoshi256kbyte
0
100
Jaspr Dart Web Framework 박제창 @Devfest 2024
itsmedreamwalker
0
150
技術的負債と向き合うカイゼン活動を1年続けて分かった "持続可能" なプロダクト開発
yuichiro_serita
0
300
GitHub CopilotでTypeScriptの コード生成するワザップ
starfish719
26
5.9k
サーバーゆる勉強会 DBMS の仕組み編
kj455
1
300
functionalなアプローチで動的要素を排除する
ryopeko
1
190
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
What's in a price? How to price your products and services
michaelherold
244
12k
Designing Experiences People Love
moore
139
23k
Git: the NoSQL Database
bkeepers
PRO
427
64k
The Invisible Side of Design
smashingmag
299
50k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
570
A Modern Web Designer's Workflow
chriscoyier
693
190k
Facilitating Awesome Meetings
lara
51
6.2k
The Power of CSS Pseudo Elements
geoffreycrofte
74
5.4k
Typedesign – Prime Four
hannesfritz
40
2.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
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Ͱࢹɾνϡʔχϯά͕ḿΔ