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
Wano Developer Meetup Vol.3
Search
ShingoYadomoto
December 04, 2019
Programming
0
560
Wano Developer Meetup Vol.3
ShingoYadomoto
December 04, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
さようなら Date。 ようこそTemporal! 3年間先行利用して得られた知見の共有
8beeeaaat
3
1.5k
個人開発で徳島大学生60%以上の心を掴んだアプリ、そして手放した話
akidon0000
1
150
AI時代のUIはどこへ行く?
yusukebe
18
9.1k
Deep Dive into Kotlin Flow
jmatsu
1
370
Updates on MLS on Ruby (and maybe more)
sylph01
1
180
アプリの "かわいい" を支えるアニメーションツールRiveについて
uetyo
0
280
testingを眺める
matumoto
1
140
そのAPI、誰のため? Androidライブラリ設計における利用者目線の実践テクニック
mkeeda
2
2.8k
機能追加とリーダー業務の類似性
rinchoku
2
1.3k
複雑なドメインに挑む.pdf
yukisakai1225
5
1.2k
Compose Multiplatform × AI で作る、次世代アプリ開発支援ツールの設計と実装
thagikura
0
170
Amazon RDS 向けに提供されている MCP Server と仕組みを調べてみた/jawsug-okayama-2025-aurora-mcp
takahashiikki
1
120
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
2.8k
Gamification - CAS2011
davidbonilla
81
5.4k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Documentation Writing (for coders)
carmenintech
74
5k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
850
How to train your dragon (web standard)
notwaldorf
96
6.2k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Code Reviewing Like a Champion
maltzj
525
40k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Transcript
ָۂγΣΞػೳͷ ύϑΥʔϚϯεվળ
Profile ॓ຊ ਅޗ TuneCore Japan Web Engineer Perl, Go, etc
͢͜ͱ • ઌى͖ͨΛͲ͏ղܾ͔ͨ͠ • ࣮ͷมߋɾPerl —> Go ҠߦʹΑΔύϑΥʔϚϯε্ঢ
None
None
None
2019-12-14 00:00 Ҏ߱ʹΞΫηε͢Δͱ
None
LinkCore • ֤৴ετΞͷURL͕ҰׅγΣΞՄೳ • ୭͕ɾͲͷετΞͰͷ౷ܭσʔλΛӾཡՄೳ
ʂʂWarningʂʂ
None
None
None
None
ى͖ͨ • SNSͰ֦ࢄ్ͨ͠ʹΞΫηεूத • 30ఔAppαʔόʔͷCPU༻͕MAXʹ…
ରࡦ͍ͯ͠ͳ͔ͬͨʁ
چରࡦ • CDN • AMP • DBΩϟογϡ
• CDN • AMP • DBΩϟογϡ ৴ͷ00:00Ҏ߱ΩϟογϡΛߋ৽͠ͳ͍ͱ͍͚ͳ͍ —> Ωϟογϡͷ͕ؒʹ߹Θͳ͍
ϝδϟʔͳϦϦʔεࡹ͖Εͳ͍ +α: ඇಉظͰ౷ܭใΛDBʹอଘ
ΞϓϦέʔγϣϯଆͰରࡦΛUpdate͢Δ͜ͱʹ
৽ରࡦ GET: ϖʔδදࣔ —> ༗ޮظݶ͖ͰHTMLΛDBʹΩϟογϡ hashͷΩϟογϡΛ༻ POST: ౷ܭσʔλ —> อଘઌΛDB͔ΒϑΝΠϧʹมߋ
౷ܭσʔλΛҰ࣌తʹRDBʹอଘ
ϦΫΤετ DBʹอଘ detailςʔϒϧͷใΛsummaryςʔϒϧʹอଘʢcronʣ Insert Select ᶃ ᶄ
ϦΫΤετ ϑΝΠϧʹอଘ ϑΝΠϧͷใΛsummaryςʔϒϧʹอଘʢcronʣ Write Read ᶃ ᶄ
ʢ৽ରࡦʣ PerlΊΔ
Benchmark • App(PerlɾGO) : Ubuntu • DB : mysql ڥ
Docker macOS Mojave $ ab -n 500 -c 50 • ૯ϦΫΤετ: 500 • ಉ࣌ଓ: 50 • ฏۉϨΠςϯγͷΈूܭ Apache Bench πʔϧ
Benchmark 1. hashΩϟογϡ 2. HTMLΩϟογϡ 3. hashΩϟογϡ 4. HTMLΩϟογϡ Perl
Go GET: ϖʔδදࣔ
Benchmark ݁Ռ: GET ϨΠςϯγ hashΩϟογϡ(P) 117.7ms HTMLΩϟογϡ(P) 29.0ms HTMLΩϟογϡ(G) 1.5ms
Benchmark ݁Ռ: GET ϨΠςϯγ hashΩϟογϡ(P) 117.7ms HTMLΩϟογϡ(P) 29.0ms HTMLΩϟογϡ(G) 1.5ms
×4.0 ×19.3
Benchmark ݁Ռ: GET ϨΠςϯγ hashΩϟογϡ(P) 117.7ms HTMLΩϟογϡ(P) 29.0ms HTMLΩϟογϡ(G) 1.5ms
×78.5
Benchmark ݁Ռ: GET hash(P) HTML(P) HTML(G) 0 30 60 90
120
Benchmark 1. DBʹอଘ 2. ϑΝΠϧʹอଘ 3. DBʹอଘ 4. ϑΝΠϧʹอଘ Perl
Go POST: ౷ܭσʔλ
Benchmark ݁Ռ: POST ϨΠςϯγ To DB(P) 32.2ms To File(P) 27.9ms
To DB(G) 4.2ms To File(G) 2.9ms
Benchmark ݁Ռ: POST ϨΠςϯγ To DB(P) 32.2ms To File(P) 27.9ms
To DB(G) 4.2ms To File(G) 2.9ms ×1.2 ×1.4
Benchmark ݁Ռ: POST ϨΠςϯγ To DB(P) 32.2ms To DB(G) 4.2ms
To File(P) 27.9ms To File(G) 2.9ms ×7.7 ×9.6
Benchmark ݁Ռ: POST ϨΠςϯγ To DB(P) 32.2ms To File(P) 27.9ms
To DB(G) 4.2ms To File(G) 2.9ms ×11.1
Benchmark ݁Ռ: GET To DB(P) To File(P) To DB(G) To
File(G) 0 10 20 30 40
·ͱΊ • ࣮มߋͰGET:4ഒɾPOST: 1~2ഒ΄Ͳվળ • ݴޠมߋͰGET:19ഒɾPOST: 7~9ഒ΄Ͳվળ • ࠷ऴతʹGET:78ഒɾPOST: 11ഒ΄Ͳվળ
• DBͷอଘͱϑΝΠϧͷॻ͖ࠐΈ༧ΑΓ͕ มΘΒͳ͔ͬͨ • Perl to Go ੌ·͍͡
None