Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ISUCONボツ技かるた / ISUCON Reject Karuta
Search
Hiroki Tanaka
January 18, 2020
Programming
0
99
ISUCONボツ技かるた / ISUCON Reject Karuta
Hiroki Tanaka
January 18, 2020
Tweet
Share
More Decks by Hiroki Tanaka
See All by Hiroki Tanaka
DockerCIビルドを一歩先へ Buildkitを運用前提で試食してみた / Docker ci with buildkit
dabits
0
170
U30エンジニアだからこそ実現できた劇的ビフォーアフター #bcu30
dabits
1
4.5k
Other Decks in Programming
See All in Programming
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
420
tparseでgo testの出力を見やすくする
utgwkk
2
280
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
610
Go コードベースの構成と AI コンテキスト定義
andpad
0
140
AIコーディングエージェント(skywork)
kondai24
0
200
Python札幌 LT資料
t3tra
7
1k
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
580
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
140
Combinatorial Interview Problems with Backtracking Solutions - From Imperative Procedural Programming to Declarative Functional Programming - Part 2
philipschwarz
PRO
0
110
Denoのセキュリティに関する仕組みの紹介 (toranoana.deno #23)
uki00a
0
160
これならできる!個人開発のすゝめ
tinykitten
PRO
0
130
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
130
Featured
See All Featured
Context Engineering - Making Every Token Count
addyosmani
9
550
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.2k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
90
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
55
The Curious Case for Waylosing
cassininazir
0
190
Facilitating Awesome Meetings
lara
57
6.7k
Raft: Consensus for Rubyists
vanstee
141
7.3k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
130
Embracing the Ebb and Flow
colly
88
4.9k
So, you think you're a good person
axbom
PRO
0
1.8k
How GitHub (no longer) Works
holman
316
140k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Transcript
ISUCON ボツ技 かるた 2020/01/18 @dabits
ISUCON、ご存知ですか?
ISUCONとは • Iikanji Speed Up CONtest = ISUCON • 3人1組8時間で行うサーバサイドチューニングコ
ンテスト • LINE社が毎年主催、賞金100万円 • 問題作成は毎年持ち回り ◦ ‘19 さくらインターネット & mercari ◦ ‘18 DeNA
ISUCONの楽しさ • スコアランキングがリアルタイムに出る • 割と本当の業務に直結する改善課題が多い • 何気にチームワークが一番大事
ISUCONのボツ技とは • ISUCON本戦もしくは本番環境では絶対に使えな いチューニング手法 • 本戦前の個人練習戦で編み出したり、人から聞 いたり。。。!
年始なので 「い」「す」「こ」「ん」の かるたにして紹介します
ISUCONの「い」
いえないような パスワード 暗号強度 い 6d8bc1284964660372e0 b7f84d9053cb40b50b39 ↓ aG9nZWZ1Z2FwaXlvCg==
いえないようなパスワード暗号強度 • DBに保存するパスワードを極力簡単な暗号化方式にすること でCPUリソースを確保する技 • 問題によってはログイン試行回数が多く、SHA1など暗号化処 理でCPUを大量消費する • まぎれもなく本番環境ではそんなことしてはいけない、本戦で も場合によっては失格に
ISUCONの「す」
すべて /dev/shm す /var/lib/mysql /dev/shm
すべて/dev/shm • I/Oが発生するものをすべて/dev/shmに入れる技 • /var/lib/mysqlを/dev/shmに突っ込むと実質オンメモリに!? • スコアが低い割に再起動すると吹っ飛ぶのでボツ
ISUCONの「こ」
このデータ 整合性 ないけどいいや こ
このデータ整合性ないけどいいや • 3台のサーバを自由に使っていい問題の場合、すべてのサー バで捌く代わりにデータ同期を取らない技 • ベンチマーカーの作りが甘い場合、1セッションをすべて1サー バで捌くことがあり、ベンチがNGにならない • 本番環境を前提にした場合、LBで確実にuidごとに分岐でき ればいいが、そもDBシャーディングなどのほうが良い
ISUCONの「ん」
んんん、ここは 流入制限で sleep1 ! ん
んんん、ここは流入制限でsleep 1! • 頻繁にajaxされるページに対してsleep 1を入れることにより、 1ユーザあたりのリクエスト数を減らしてCPUリソースを確保す る技 • ISUCONではルール上JSの書き換えが禁止されているため、 ポーリングの回数を減らすためにこの手法が度々使われる
• ISUCONでは容認されるが本番環境ではそもそもポーリング の頻度をクライアントプログラム側で減らすべき
興味を持ったら 過去問題やってみましょ! https://github.com/isucon
ありがとうございました