Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ISUCONに初参加して40位だった話
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
mo124121
December 18, 2024
Programming
92
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ISUCONに初参加して40位だった話
mo124121
December 18, 2024
Other Decks in Programming
See All in Programming
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
2
400
AIに “答え“を書かせるのを やめてみた
___akari11
0
120
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
610
Jetpack Compose Mechanisms
skydoves
3
820
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
270
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
0
510
TechTown - Creating Composable Callables in Contemporary C++
rollbear
0
130
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
220
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
Domain-Driven Transformation
hschwentner
2
2.3k
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
490
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
410
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
500
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
480
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
How to build a perfect <img>
jonoalderson
1
6.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Transcript
ISUCONに初参加して 40位だった話 mo12412 1 「ISUCON」は、LINEヤフー株式会社の商標または登録商標です。 https://isucon.net/
もくじ 結果 参加の経緯 事前準備 当日の動き 2
結果 得点 22,274 順位 40位 https://isucon.net/archives/58837992.html 3
参加の経緯 社内の有志活動の中でISUCON参加の募集があり参加 チーム編成はあれこれあって最終的に3名 4
事前準備(1) 2か月前から開始 たくさん解いて雰囲気をつかむ ISUCON 13 https://github.com/mo124121/isucon13-try
Go Private-isu(ISUCON本のやつ) https://github.com/mo124121/private-isu-try Go ISUCON 13 https://github.com/mo124121/isucon13-try-rust Rust ISUCON 12予選 https://github.com/mo124121/isucon12-qualify-try Rust ISUCON 11予選 https://github.com/mo124121/isucon11-qualify-try Go 記事を眺めてよいやり方を知る (pprotein, トレース, tailscaleあたりはこの辺から) ISUCON13 1位 https://zenn.dev/tohutohu/articles/923bdf5dcd73af ISUCON13 4位 https://blog.p1ass.com/posts/isucon13/ pprotein 解説 https://zenn.dev/team_soda/articles/20231206000000 5
事前準備(2) デプロイの方法を固める 8時間、一瞬 → どれだけ効率よく開発して、改善を仕込めるかが勝負 → デプロイを確実にやる方法を準備
Ansibleを基本に構成 上位勢はgit+シェルスクリプトっぽいので、こちらもよかったかも テレメトリの取得 「推測するな 計測せよ」 → 目隠しで改善はできない → 必要な情報をちゃんと見れるように準備 専用のリポジトリを作成 + 監視用のインスタンスを外部に準備 https://github.com/mo124121/isucon-o11y 各種ツールを仕込む ログ pprotein メトリクス Prometheus + node exporter + process exporter netdataを使っている方も多くてそちらもよさそう トレース jeager 開発ツールの整備 監視対象のポートをあれこれ開けたい Cloud formationでデプロイするリソースをいじるのはまずそう(env checkで落ちて失格?) tailscale(P2P VPN) DBをGUIで眺めたい DBeaver (+ DBの設定@本番) (PHPMyAdminも試したが手元だと超遅かったので切り替え) 6
当日の動き あんまり覚えてない…改善はコミットログを見てください https://github.com/Akijin007/isucon14 主な担当 初動のcloud formationデプロイとか
計装関係の設定とか Chiを想定してなかったのでトレースができず… クッソ重いクエリの修正(なおデバッグで沼った) インメモリキャッシュの実装 DBの分離(なお失敗) 7
振り返り 初参加で結構いいスコア・順位 ISUCONは準備は大事で、適切な準備ができた感ある 改善も計測してわかった内容を着実にやればOK 何より残りメンバー2名に恵まれた
Goの実装力が足りない 静的解析が有効に機能しない場所でバグりまくり、どうしたらいい?(DBまわり、sync.Mapまわり) このあたりはRustの方がよかった?ただDBは厳しそう チーム練が足りなかった 諸般の事情によりチームが決まったのが本番1週間ちょっと前 シナリオ分析、わからない スコアに効く改善は何か?は単なるボトルネック分析では見えてこない 1位になるには(ボトルネックの対処ができたうえで)もう一歩分析のアプローチ(あるいはエスパー力)が必要 8