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
Azure Functionsの同時実行数を減らして処理速度を改善した話
Search
saeki
June 24, 2026
Technology
57
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Azure Functionsの同時実行数を減らして処理速度を改善した話
saeki
June 24, 2026
Other Decks in Technology
See All in Technology
AI導入は済んだ。次は統制を作り替える番だ_AI×開発組織 Summit 2026
techtekt
PRO
0
360
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
210
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
360
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
140
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
2.4k
初海外で注意すべきこと12選!!!安全快適なre:invent生活にするために
yuuuuuuu168
1
180
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
6
5.1k
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
290
FinOps Agentが生んだ技術負債:コスト自動調査の落とし穴と解消までの道のり
oasis1994liveforever
2
140
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
830
パッチ更新でterraform initが落ちた日
grimoh
1
140
その Valkey 使いこなしていますか?
onk
PRO
5
1.6k
Featured
See All Featured
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
290
Discover your Explorer Soul
emna__ayadi
2
1.3k
Designing for Performance
lara
612
70k
The Curious Case for Waylosing
cassininazir
1
570
Between Models and Reality
mayunak
4
500
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.8k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
420
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
The Language of Interfaces
destraynor
162
27k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
580
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Transcript
Azure Functionsの同時実行数を減らして処理速度を改善した話 NCDC株式会社 佐伯 久 2026 / 06 / 24
自己紹介 ⚫ 佐伯 久(サエキ ヒサシ) ⚫ バックエンドエンジニア(2年と少し) ⚫ API開発(TypeScript /
Python) ⚫ インフラリソース構築(AWS / Azure) 2
アーキテクチャ 3
非機能要件 ⚫ 各現場からのリクエストの1件目が、120〜180秒以内に処理されること ⚫ 各現場 → 18箇所 ⚫ 現場ごとにQueueを分けている ⚫
例)複数現場が同時にリクエスト ⚫ OK: A現場が10件登録 → 1件目の処理時間 10秒 ⚫ OK: B現場が10件登録 → 1件目の処理時間 20秒 ⚫ NG: C現場が10件登録 → 1件目の処理時間 200秒 4
性能試験の内容 5 ⚫ 単位は秒 ⚫ 処理時間の昇順 ⚫ 上位13件は合格 ⚫ 下位5件は不合格
⚫ ツール ⚫ 「k6」を活用 ⚫ オープンソースの負荷テストツールで、JavaScriptにテストシナリオを記述して負 荷テストを実施することができる。 ⚫ シナリオ ⚫ 5秒おきに各現場から10件単位で写真を登録する
性能試験の結果(1件目が120〜180秒以内に完了) 6 ⚫ 処理時間(秒)の昇順 ⚫ 上位13件は合格 ⚫ 下位5件は不合格 ⚫ 不合格から極端に遅くなっている
原因分析 ⚫ 写真登録した現場順に処理が進んでいた ⚫ Queueに格納された10件のメッセージを同時に処理していた ⚫ Queueから一度に取得するメッセージ数 > 10 ⚫
複数現場のOCR処理が数多く並行していた ⚫ → 複数現場のOCR処理が同時に大量に走ることで負荷が高まり、後か らリクエストされる現場にリソースを割けなかったのでは? 7
パラメータ調整 ⚫ 調整したパラメータ ⚫ batchSize: 32 → 3 ⚫ Queueから一度に取得するメッセージの数
⚫ newBatchThreshold: 16→0 ⚫ Queueからメッセージを再取得する基準になる処理中のメッセージ数 ⚫ 調整前後の最大同時実行数 ⚫ 調整前: 864件 ⚫ (32 + 16) * 18 = 864 ⚫ 調整後: 54件 ⚫ (3 + 0) * 18 = 54 8
再試験の結果(1件目が120〜180秒以内に完了) ⚫ 全件合格 ⚫ Queueから3件ずつ取得して処理 できていた ⚫ 極端に遅い処理がなくなった 9
補足:トータルスループットも改善されていた ⚫ 1現場から300件の写真登録 ⚫ 1件目、10件目、全てのデータの完了時間を計測 ⚫ 同時実行数32件の場合 ⚫ 1件目: 7秒
⚫ 10件目: 51秒 ⚫ 全てのデータ: 18分31秒 ⚫ 同時実行数3件の場合 ⚫ 1件目: 8秒 ⚫ 10件目: 26秒 ⚫ 全てのデータ: 8分35秒 10
補足:トータルスループットも改善されていた ⚫ なぜ速くなかったのか(Geminiの見解) ⚫ 詰め込みすぎによるオーバーヘッドの解消 ⚫ コンテキストスイッチの削減 ⚫ タスク切り替えが減って1つ1つの処理に集中しやすくなった ⚫
メモリ/GCの安定化 ⚫ 同時処理数が減ることでメモリ使用量が安定し、GCによる処理停止が減る ⚫ 外部リソースの競合解消 ⚫ DBへの接続数やロック競合が減り、待ち時間・リトライが発生しなくなる 11
まとめ ⚫ Azure Functionsの batchSize / newBatchThreshold を調整し、最大同 時実行数を864件 →
54件に削減 ⚫ 全18現場の非機能要件(120〜180秒以内)をクリア ⚫ 同時実行数を絞ることで、トータルスループットも改善 ⚫ 「並列度を上げれば速い」は必ずしも正しくない可能性がある ⚫ コンテキストスイッチの切り替えやリソース競合などによるオーバーヘッドに 注意が必要な場合がありそうです 12
None