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
570
Wano Developer Meetup Vol.3
ShingoYadomoto
December 04, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
130
高速開発のためのコード整理術
sutetotanuki
1
400
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
290
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.3k
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.6k
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
300
並行開発のためのコードレビュー
miyukiw
0
160
Best-Practices-for-Cortex-Analyst-and-AI-Agent
ryotaroikeda
1
110
CSC307 Lecture 05
javiergs
PRO
0
500
CSC307 Lecture 07
javiergs
PRO
0
550
Implementation Patterns
denyspoltorak
0
290
Package Management Learnings from Homebrew
mikemcquaid
0
220
Featured
See All Featured
Claude Code のすすめ
schroneko
67
210k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
120
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
240
A Soul's Torment
seathinner
5
2.3k
GitHub's CSS Performance
jonrohan
1032
470k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
220
YesSQL, Process and Tooling at Scale
rocio
174
15k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
76
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