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
590
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Wano Developer Meetup Vol.3
ShingoYadomoto
December 04, 2019
Other Decks in Programming
See All in Programming
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
12k
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
430
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
150
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
520
AI時代のUIはどこへ行く?その2!
yusukebe
19
6.9k
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
150
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
330
The NotImplementedError Problem in Ruby
koic
1
650
エージェンティックRAGにAWSで入門しよう!
har1101
8
1.3k
3Dシーンの圧縮
fadis
1
680
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
1.9k
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
3
1.2k
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
The SEO Collaboration Effect
kristinabergwall1
1
480
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
330
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Ruling the World: When Life Gets Gamed
codingconduct
0
250
Abbi's Birthday
coloredviolet
2
8k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Accessibility Awareness
sabderemane
1
130
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
220
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