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
2
740
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
コンテナをたくさん詰め込んだシステムとランタイムの変化
makihiro
1
130
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
110
Exploring: Partial and Independent Composables
blackbracken
0
100
各クラウドサービスにおける.NETの対応と見解
ymd65536
0
110
Mermaid x AST x 生成AI = コードとドキュメントの完全同期への道
shibuyamizuho
0
160
StarlingMonkeyを触ってみた話 - 2024冬
syumai
3
270
ある日突然あなたが管理しているサーバーにDDoSが来たらどうなるでしょう?知ってるようで何も知らなかったDDoS攻撃と対策 #phpcon.2024
akase244
0
130
テストコードのガイドライン 〜作成から運用まで〜
riku929hr
5
670
Go の GC の不得意な部分を克服したい
taiyow
3
790
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
4
290
情報漏洩させないための設計
kubotak
2
290
フロントエンドのディレクトリ構成どうしてる? Feature-Sliced Design 導入体験談
osakatechlab
8
4.1k
Featured
See All Featured
The Language of Interfaces
destraynor
154
24k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
Music & Morning Musume
bryan
46
6.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
Code Review Best Practice
trishagee
65
17k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
Thoughts on Productivity
jonyablonski
67
4.4k
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Ͱࢹɾνϡʔχϯά͕ḿΔ