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
580
Wano Developer Meetup Vol.3
ShingoYadomoto
December 04, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
ふつうのRubyist、ちいさなデバイス、大きな一年 / Ordinary Rubyists, Tiny Devices, Big Year
chobishiba
1
460
Angular-Apps smarter machen mit Gen AI: Lokal und offlinefähig - Hands-on Workshop!
christianliebel
PRO
0
120
2026年は Rust 置き換えが流行る! / 20260220-niigata-5min-tech
girigiribauer
0
240
AHC061解説
shun_pi
0
380
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
560
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
13
8.1k
AIとペアプロして処理時間を97%削減した話 #pyconshizu
kashewnuts
1
240
[SF Ruby Feb'26] The Silicon Heel
palkan
0
110
Claude Codeセッション現状確認 2026福岡 / fukuoka-aicoding-00-beacon
monochromegane
4
430
ロボットのための工場に灯りは要らない
watany
10
2.9k
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
340
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
120
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
528
40k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
The Limits of Empathy - UXLibs8
cassininazir
1
260
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
86
Ethics towards AI in product and experience design
skipperchong
2
220
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
210
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.5k
How to build a perfect <img>
jonoalderson
1
5.3k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
470
Large-scale JavaScript Application Architecture
addyosmani
515
110k
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