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
そのasync、止まってない? ”鉄板”イベントループ ブロッキング処理検出術
Search
ryuichi1208
August 21, 2026
2.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
そのasync、止まってない? ”鉄板”イベントループ ブロッキング処理検出術
ryuichi1208
August 21, 2026
More Decks by ryuichi1208
See All by ryuichi1208
AIでサービス運用はどう変わるのか
ryuichi1208
0
200
入門 再発防止策
ryuichi1208
17
7.8k
障害対応からの学びと体制づくり
ryuichi1208
0
1.2k
金曜日デプロイ、するかしないか.pdf
ryuichi1208
1
490
会話で作る信頼性
ryuichi1208
0
200
シグナル(Unix)と仲良くなる
ryuichi1208
1
200
LiteLLM Proxyの紹介
ryuichi1208
1
30
AI前提のサービス運用について再考する
ryuichi1208
6
1.5k
A Shallow Dive into the World of TCP
ryuichi1208
1
700
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
It's Worth the Effort
3n
188
29k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
How to make the Groovebox
asonas
2
2.5k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
WCS-LA-2024
lcolladotor
0
840
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Designing for humans not robots
tammielis
254
26k
How to Think Like a Performance Engineer
csswizardry
28
2.8k
Transcript
そのasync止まってない? “鉄板”イベントループブロッキング検出術 PyCon JP 2026 渡部 龍一
自己紹介 • 渡部龍一 • 東京の方から来ました • 株式会社IVRy SRE • お好み焼きはそば派
隠れブロッキング • async/awaitを導入しても同期IOやら重い計算が走るとイ ベントループ全体が停止する • awaitしてればOKでもない ◦ サードパーティのライブラリの深部とかにあるとレ ビューで気づくのは難しい
静的レビュー以外で気づきたい!
手法紹介
PYTHONASYNCIODEBUG=1 • asyncioのデバッグモード • イベントループが一定時間以上ブロックされたときに、警 告を出す
None
解決!!
デメリット • 本番環境で使えない(オーバーヘッド) • OSやC拡張(ネイティブコード)内部の詰まりが見えない
プロファイラ
py-spy でプロファイリング • 稼働中の Python プロセスを停止・変更することなく、プロ ファイラを接続してサンプリング実行 • 低オーバーヘッド: ステージング・検証環境での調査に最
適
None
解決!!
デメリット • C拡張内部のスタックは見えない • asyncioのタスク単位の可視化が不得手 ◦ コルーチンのスタックは物理スレッドのスタックとして見 える ◦ 「どのタスクが遅いか」という非同期アプリで本当に知
りたい情報が取りにくい
eBPF
eBPF?? • システムコール、カーネル/ユーザー関数にフックを仕掛 け、OSレベルの動きをリアルタイムに補足 • 低オーバーヘッド • ブラックボックスであるOS側の挙動を可視化
eBPF??(2) • Linuxカーネルレイヤーでイベントループスレッドの動作を 追跡 • Off-CPU(停止時間)を捉える
何が嬉しい • イベントループスレッドがどのシステムコール(同期ディス クI/Oやロック待ちなど)で止まったかを知れる • Cのネイティブ拡張であってもシステムコールの引数を表 示することで通信先やポートがわかる
導入の難易度 • C言語やOSの知識が必要
None
使い分け
手法 適用環境 導入コスト メリット PYTHONASYNCIODEBUG ローカル 極小 Python標準 py-spy staging/pro
duction 小 コード変更なし eBPF staging/pro duction 中 OSレベルで原因究明
ご清聴ありがとうございました