$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Power Automate のパフォーマンス改善レシピ / Power Automate P...
Search
Takashi Shinohara
July 26, 2025
Technology
0
400
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
140
どっちの API SHOW?SharePoint 開発における SharePoint REST API Microsoft Graph API の違い / Which API show? Differences between Microsoft Graph API and SharePoint REST API
karamem0
0
1.7k
Microsoft Ignite 2024 最新情報!Microsoft 365 Agents SDK 概要 / Microsoft Ignite 2024 latest news Microsoft 365 Agents SDK overview
karamem0
0
530
徹底解説!Microsoft 365 Copilot の拡張機能 / Complete guide to Microsoft 365 Copilot extensions
karamem0
1
4.3k
Microsoft Search の Graph コネクタ ハンズオン / Handson for Graph Connector of Microsoft Search
karamem0
0
210
いまだから「検索」を語ろう! SharePoint FAST Search から Microsoft Search セマンティックインデックスまで / Let's talk about search now
karamem0
4
1.7k
徹底解説!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.4k
Fluent UI を理解する / Understanding Fluent UI
karamem0
0
1.3k
Other Decks in Technology
See All in Technology
Building Serverless AI Memory with Mastra × AWS
vvatanabe
0
440
Entity Framework Core におけるIN句クエリ最適化について
htkym
0
120
NIKKEI Tech Talk #41: セキュア・バイ・デザインからクラウド管理を考える
sekido
PRO
0
200
なぜ あなたはそんなに re:Invent に行くのか?
miu_crescent
PRO
0
190
ActiveJobUpdates
igaiga
1
310
[Data & AI Summit '25 Fall] AIでデータ活用を進化させる!Google Cloudで作るデータ活用の未来
kirimaru
0
3.6k
Agent Skillsがハーネスの垣根を超える日
gotalab555
6
4k
AI with TiDD
shiraji
1
270
"人"が頑張るAI駆動開発
yokomachi
1
120
マイクロサービスへの5年間 ぶっちゃけ何をしてどうなったか
joker1007
19
7.5k
Bedrock AgentCore Evaluationsで学ぶLLM as a judge入門
shichijoyuhi
2
230
AIBuildersDay_track_A_iidaxs
iidaxs
4
1.2k
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
9.7k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
0
31
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
115
91k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
110
A Soul's Torment
seathinner
1
2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.2k
Amusing Abliteration
ianozsvald
0
69
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
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
ご清聴ありがとうございました