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
ISUCON向けのツールを作った話 / isutools
Search
yudppp
November 06, 2019
Technology
1
290
ISUCON向けのツールを作った話 / isutools
ISUCON向けのツールを作った話
ISUCON9大反省会LT
https://github.com/yudppp/isutools
yudppp
November 06, 2019
Tweet
Share
More Decks by yudppp
See All by yudppp
型安全なDrag and Dropの設計を考える
yudppp
5
890
未知のプログラミング言語にChatGPTと共に挑む
yudppp
0
470
SaaSフロントエンド開発の現場で求められる技術 / Technologies for SaaS Frontend Development in the Field
yudppp
2
210
2019年 HRBrainの技術的挑戦 / hrbain technology challenge 2019
yudppp
3
1.4k
Web開発を支えるマイグレーションツールについて / sqldef introduction for psql users
yudppp
2
3.4k
Row Level Securityはマルチテナントの銀の弾丸になりうるのか / Row Level Security is silver bullet for multitenancy?
yudppp
23
32k
Webサービス開発に必要な統計学入門 / study of statistics for web developers
yudppp
1
300
メジャーな Live Reloaderの違いをちゃんと調べて見た / Compare major live reloader of Go
yudppp
1
1.9k
今年お世話になったnpm module
yudppp
1
940
Other Decks in Technology
See All in Technology
SRE視点で振り返るメルカリのアーキテクチャ変遷と普遍的な考え
foostan
1
220
なぜThrottleではなくDebounceだったのか? 700並列リクエストと戦うサーバーサイド実装のすべて
yoshiori
13
4.8k
ABEMAのCM配信を支えるスケーラブルな分散カウンタの実装
hono0130
4
990
ソフトウェア開発現代史: 55%が変化に備えていない現実 ─ AI支援型開発時代のReboot Japan #agilejapan
takabow
7
4.4k
LINEギフト・LINEコマース領域の開発
lycorptech_jp
PRO
0
320
グローバルなコンパウンド戦略を支えるモジュラーモノリスとドメイン駆動設計
kawauso
2
2.7k
生成AI時代に若手エンジニアが最初に覚えるべき内容と、その学習法
starfish719
2
510
「O(n log(n))のパフォーマンス」の意味がわかるようになろう
dhirabayashi
0
200
不確実性に備える ABEMA の信頼性設計とオブザーバビリティ基盤
nagapad
1
660
Building AI Applications with Java, LLMs, and Spring AI
thomasvitale
1
190
Quarkusで作るInteractive Stream Application
joker1007
0
150
Rubyist入門: The Way to The Timeless Way of Programming
snoozer05
PRO
7
520
Featured
See All Featured
The Invisible Side of Design
smashingmag
302
51k
RailsConf 2023
tenderlove
30
1.3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
4 Signs Your Business is Dying
shpigford
186
22k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
670
Facilitating Awesome Meetings
lara
57
6.6k
Designing for humans not robots
tammielis
254
26k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Producing Creativity
orderedlist
PRO
348
40k
Transcript
ISUCON͚ͷπʔϧΛ࡞ͬͨ ISUCON9େলձ
pprofͷ݁ՌΛ؆୯ʹՄࢹԽ • pprofͷίϚϯυΕ͕ͪ • Port։͚ͨΓFileΛscpͨ͠Γେม • ϕϯνϚʔΫճͨ͠͝ͱʹऔΓ͍ͨ
DataDogͷSQLͷAPMΛऔΓ͍ͨ • DatadogͷAPM࠷ߴɻ͓͔͔ͨͩۚ͠Δɻ • SlowLog͚ͩͩͱΈΕͳ͍ΛΈ͍ͨɻ
alpͷ݁ՌΛ؆୯ʹग़͍ͨ͠ • ϕϯνϚʔΫճͨ͠͝ͱʹऔΓ͍ͨ
N+1 QueryΛ؆୯ʹൃݟ͍ͨ͠ • ࢹͰN+1 QueryΛݟ͚ͭͯͨ͠Γ͢Δ͕ ࿙Ε͕͋ͬͨΓ͢ΔͷͰ؆୯ʹൃݟ͍ͨ͠
Γ͍ͨ͜ͱ·ͱΊ • pprofͷ݁ՌΛ؆୯ʹՄࢹԽ͍ͨ͠ • alpΈ͍ͨͳ݁ՌΛ؆୯ʹग़ྗ͍ͨ͠ • DataDogͷSQLͷAPMͷ݁ՌΈ͍ͨͳͷग़ྗ ͍ͨ͠ • N+1QueryΛ؆୯ʹൃݟ͍ͨ͠
͜ΕΒΛղܾ͢Δ࡞Γ·ͨ͠ɻ
ͦͷ໊
github.com/yudppp/isutools Iikanji ni speed up suru tools
github.com/yudppp/isutools/profile • Initialize͢Δؔͷதʹ1ߦՃ͢Δ • InitializeͷؔΛݺͼग़͔ͯ͠Βࢦఆͨ͠ඵ ͷpprofͷ݁ՌΛSlackʹૹ৴͢Δ
github.com/yudppp/isutools/profile • ϕϯνϚʔΫͷ࣮ߦ͝ͱʹຖճܭଌ݁ՌΛ Slackʹ͛ͯ͘ΕΔ • ϩάͱͯ͠͞ΕΔͷͰ࣌ܥྻͰऴ͑ͯศར
None
github.com/yudppp/isutools/tracereporter • DataDogͷAPMͷlibrary(dd-trace-go)Λͬ ͯ৭ʑͳ༰ΛSlackʹϨϙʔτ͢Δ • LibraryʹରԠ͍ͯ͠ΔϑϨʔϜϫʔΫશͯʹ ରԠ͞Ε͍ͯΔ
sqlxͷྫ
None
gojiͷྫ
None
github.com/yudppp/isutools/tracereporter • ্هͷΈ͍ͨͳͭΛ্ख͍͘߹ΘͤΔͱ
None
github.com/yudppp/isutools/utils/throttle • ࢦఆͨ͠ඵؒʹ࠷ॳͷ1ճ͔࣮͠ߦ͞Εͳ ͍ͭ(sync.Onceͱಉ͡ײ͡Ͱ͑Δ)
·ͱΊ • དྷͦ݁͜Ռग़͍ͨ͠ɻ