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
Takashi Shinohara
July 26, 2025
Technology
0
440
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
170
どっちの API SHOW?SharePoint 開発における SharePoint REST API Microsoft Graph API の違い / Which API show? Differences between Microsoft Graph API and SharePoint REST API
karamem0
0
2k
Microsoft Ignite 2024 最新情報!Microsoft 365 Agents SDK 概要 / Microsoft Ignite 2024 latest news Microsoft 365 Agents SDK overview
karamem0
0
550
徹底解説!Microsoft 365 Copilot の拡張機能 / Complete guide to Microsoft 365 Copilot extensions
karamem0
1
4.5k
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.4k
Other Decks in Technology
See All in Technology
型を書かないRuby開発への挑戦
riseshia
0
160
パネルディスカッション資料 (at Tableau Now! - 2026-02-26)
yoshitakaarakawa
0
1.1k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
AI Agentにおける評価指標とAgent GPA
tsho
1
280
ソフトウェアアーキテクトのための意思決定術: Create Decision Readiness—The Real Skill Behind Architectural Decision
snoozer05
PRO
29
8.7k
Snowflake Night #2 LT
taromatsui_cccmkhd
0
320
primeNumber DATA MANAGEMENT CAMP #2:
masatoshi0205
1
680
問い合わせ自動化の技術的挑戦
recruitengineers
PRO
2
130
大規模な組織におけるAI Agent活用の促進と課題
lycorptech_jp
PRO
6
7.7k
WBCの解説は生成AIにやらせよう - 生成AIで野球解説者AI Agentを実現する / Baseball Commentator AI Agent for Gemini
shinyorke
PRO
1
330
新職業『オーケストレーター』誕生 — エージェント10体を同時に回すAgentOps
gunta
1
480
Featured
See All Featured
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
210
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
A Tale of Four Properties
chriscoyier
162
24k
Practical Orchestrator
shlominoach
191
11k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
The SEO Collaboration Effect
kristinabergwall1
0
380
For a Future-Friendly Web
brad_frost
183
10k
Design in an AI World
tapps
0
160
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
460
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
140
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
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
ご清聴ありがとうございました