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
730
LevelDB on S3 As A KVS
shunsukeaihara
1
2.7k
色恒常性仮説に基づく色補正ライブラリcolorcorrect / 2015-01-31-kantocv27
shunsukeaihara
3
2.2k
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
dbt-ga4パッケージを実業務に導入してみた話
t_tokumaru_feedcorp
0
120
Unlocking Python's Core Magic
leew
0
120
Removing Corepack
yosuke_furukawa
PRO
9
1.1k
Rails 8 Frontend: 10 commandments & 7 deadly sins in 2025
yshmarov
1
620
Subclassing, Composition, Python, and You
hynek
3
120
RemixとCloudflare Stack におけるFile Upload
ossamoon
1
120
AWS CDKを用いたセキュアなCI/CDパイプラインの構築 / Build a secure CI/CD pipeline using AWS CDK
seike460
PRO
3
590
.NET Aspireのクラウド対応検証: Azureと他環境での実践
ymd65536
1
360
ROS 2のZenoh対応とZenohのROS 2対応
takasehideki
2
270
GitHub Copilot Workspace で我々のアプリ開発がどう変わるのか?
shuyakinjo
0
880
ECS向けのドリフト検知機構を実装してみた
tkikuc
0
280
複数プロダクトの技術改善・クラウド移行に向き合うチームのフレキシブルなペア・モブプログラミングの実践 / Flexible Pair Programming And Mob Programming
honyanya
0
180
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
324
23k
The Power of CSS Pseudo Elements
geoffreycrofte
71
5.3k
What's new in Ruby 2.0
geeforr
341
31k
Thoughts on Productivity
jonyablonski
67
4.2k
The Language of Interfaces
destraynor
154
24k
From Idea to $5000 a Month in 5 Months
shpigford
380
46k
Building Your Own Lightsaber
phodgson
102
6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
228
52k
What the flash - Photography Introduction
edds
67
11k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
29
1.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
23
1.7k
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Ͱࢹɾνϡʔχϯά͕ḿΔ