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
Power Automate のパフォーマンス改善レシピ / Power Automate P...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Takashi Shinohara
July 26, 2025
Technology
0
420
Power Automate のパフォーマンス改善レシピ / Power Automate Performance Improvement Recipes
LogicFlow-ja Online Re: -User Day- (
https://logicflowja.connpass.com/event/353706/
) に登壇したときのスライドです。
Takashi Shinohara
July 26, 2025
Tweet
Share
More Decks by Takashi Shinohara
See All by Takashi Shinohara
Microsoft 365 の認証と承認を理解する / Understanding Microsoft 365 Authentication and Authorization
karamem0
0
160
どっちの API SHOW?SharePoint 開発における SharePoint REST API Microsoft Graph API の違い / Which API show? Differences between Microsoft Graph API and SharePoint REST API
karamem0
0
1.9k
Microsoft Ignite 2024 最新情報!Microsoft 365 Agents SDK 概要 / Microsoft Ignite 2024 latest news Microsoft 365 Agents SDK overview
karamem0
0
540
徹底解説!Microsoft 365 Copilot の拡張機能 / Complete guide to Microsoft 365 Copilot extensions
karamem0
1
4.4k
Microsoft Search の Graph コネクタ ハンズオン / Handson for Graph Connector of Microsoft Search
karamem0
0
230
いまだから「検索」を語ろう! SharePoint FAST Search から Microsoft Search セマンティックインデックスまで / Let's talk about search now
karamem0
4
1.8k
徹底解説!Power Platform 導入の成功事例から見る DX 推進のコツ / Tips for DX promotion from Power Platform case studies
karamem0
0
5.4k
どうする Power Pages?Web 開発者からみる Power Pages / How to deal with Power Pages
karamem0
0
1.5k
Fluent UI を理解する / Understanding Fluent UI
karamem0
0
1.3k
Other Decks in Technology
See All in Technology
Frontier Agents (Kiro autonomous agent / AWS Security Agent / AWS DevOps Agent) の紹介
msysh
3
180
SRE Enabling戦記 - 急成長する組織にSREを浸透させる戦いの歴史
markie1009
0
130
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
2
380
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
3
210
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
320
Why Organizations Fail: ノーベル経済学賞「国家はなぜ衰退するのか」から考えるアジャイル組織論
kawaguti
PRO
1
110
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
AIと新時代を切り拓く。これからのSREとメルカリIBISの挑戦
0gm
1
2.8k
22nd ACRi Webinar - NTT Kawahara-san's slide
nao_sumikawa
0
100
超初心者からでも大丈夫!オープンソース半導体の楽しみ方〜今こそ!オレオレチップをつくろう〜
keropiyo
0
110
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
2k
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.5k
Featured
See All Featured
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
Building the Perfect Custom Keyboard
takai
2
690
Crafting Experiences
bethany
1
49
So, you think you're a good person
axbom
PRO
2
1.9k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Documentation Writing (for coders)
carmenintech
77
5.3k
Abbi's Birthday
coloredviolet
1
4.8k
Deep Space Network (abreviated)
tonyrice
0
49
The Limits of Empathy - UXLibs8
cassininazir
1
220
Building an army of robots
kneath
306
46k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
140
Making Projects Easy
brettharned
120
6.6k
Transcript
Power Automate のパフォーマンス改善レシピ 2025/7/26 LogicFlow-ja Online Re: -User Day- 篠原
敬志 (@karamem0)
自己紹介 篠原 敬志 (Takashi Shinohara) アバナード株式会社 グループ マネージャー, アジャイル コーチ
Microsoft MVP for M365 (2018-2026) Microsoft Top Partner Engineer Award (2023) JPM365DEV 運営
本日のお題 Power Automate でフローの実行に時間がかかるということありませんか? ボトルネックとなる原因と対応方法を学びましょう!
免責事項 今回の実験結果は検証環境で実施したものです すべての環境においての動作を保証するものではありません
1 回の実行に何時間もかかる いつまでたっても終わらない これじゃあ業務で使いものにならない
それ、ループのせいでは?
それぞれに適用する (Apply to each) アクション 配列のそれぞれの要素に対して 処理を実行する
Do until アクション 一定の条件を満たすまで繰り返 し処理を実行する
ループ アクション どちらのアクションも同じくらい実行が遅い ループ内のアクションが単純なアクションでも遅い
ベンチマーク 内容 実行時間 それぞれに適用するアクションで 300 回アクションを実行するフロー 約 40 秒 Do
until アクションで 300 回アクションを実行するフロー 約 45 秒 ループを使用せずに 300 回アクションするフロー 約 10 秒 ※ループ内で配列変数に追加アクションを実行した結果です
パフォーマンス対策 並列処理の有効化 ループを使用しない (選択アクション) Pieter's method
並列処理の有効化 フローを並列処理させることで実 行時間を改善する
並列処理の改善結果 40 秒 通常のループ処理 20 秒 並列化したループ処理 (10 並列で実施) 約
50 % 改善
並列処理の特徴 (1) 実行順序は保証されない
並列処理の特徴 (2) 外部サービスを利用するアクションでは一時的に大量アクセスがあると HTTP 429 エラーになる HTTP 429 エラーは再試行ポリシーによって自動的にリトライするがそれが原因で遅くなることも Power
Automate で要求エラーが多すぎます https://learn.microsoft.com/ja-jp/troubleshoot/power-platform/ai-builder/power- automate/too-many-requests-error-in-power-automate Power Automate プロジェクトにおけるリスクの軽減とエラー処理の計画 https://learn.microsoft.com/ja-jp/power-automate/guidance/planning/reducing-risk
選択アクション ループの代わりに選択アクション を使用する
選択アクションの改善結果 40 秒 通常のループ処理 0.2 秒 選択アクション 約 99.5 %
改善
選択アクションの特徴 データ加工するときに最大効果を発揮する XPath を使用すると柔軟なデータ加工を実現できる 配列の要素ごとにアクションを呼ぶことはできないので用途は限定的
Pieter's method (1) 配列変数に追加アクションの代 わりに作成アクションを使用する
Pieter's method (2) ループ外では outputs() で結果 を配列で得られる
Pieter's method の改善結果 40 秒 通常のループ処理 5 秒 Pieter's method
(10 並列で実施) 約 87.5 % 改善
Pieter's method の特徴 ループ内で作成 (Compose) アクションを使用するとループ外からは配列として取得できる 並列処理を有効にしても実行順序が保証される (ただし仕様として明示されているわけではない) Compose actions
inside apply to each steps in Power Automate https://sharepains.com/2019/07/09/compose-apply-to-each-power-automate/
Pieter's method の実行順序 並列実行でも実行順序が正し くなる
ループの回数を減らすための方法 OData クエリを活用する バッチ要求を活用する
OData クエリ ループ内で 1 件ずつデータを取得するのではなく一括でデータを取得する • $filter: 特定のデータのみ取得する (例: $filter=ID
eq 1 or ID eq 3 or …) • $select: データ量を減らす • $expand: 関連するリソースを取得する
バッチ要求 SharePoint REST API や Microsoft Graph API ではバッチ要求を使うことで複数の要求をまと めて送ることができる
REST API によりバッチ要求を発行する | Microsoft Learn https://learn.microsoft.com/ja-jp/sharepoint/dev/sp-add-ins/make-batch-requests- with-the-rest-apis Microsoft Graph SDK を使用して要求をバッチ処理する https://learn.microsoft.com/ja-jp/graph/sdks/batch-requests
DEMO
まとめ Power Automate のループは遅いので極力使わない 並列実行は副作用があるため利用には十分注意する データ加工は選択アクションを使用する どうしてもループするときは Pieter's method を使用する
OData クエリやバッチ要求を活用する
参考リンク Apply to each のパフォーマンス改善 (配列加工の場合) – MoreBeerMorePower https://mofumofupower.hatenablog.com/entry/2020/08/12/093000 SharePoint
リストにアイテムを一括登録する ($batchの活用) - MoreBeerMorePower https://mofumofupower.hatenablog.com/entry/sharepoint_batching
ご清聴ありがとうございました