Troubleshooting Slow Running Flows

Is van toepassing op: Power Automate

Symptom


Flow actions seem to be running slowly, and may appear to get stuck on a single step in the flow run viewer.

Note that this is distinct from triggers not firing, in which case the flow will not even start or show up in the run history list. This article does not apply to triggers not firing.

Cause


There are number of possible causes to slow running flows:

  • The service you are connecting to is running slowly.
    • For instance, a slow running SQL query will cause a flow to slow down while it waits for query execution to complete.
  • The connector you are using is slowing your flow down as a service protection mechanism.
    • For example, the SharePoint connector caps actions at 600 per minute. A single SharePoint connection used across multiple flows can still only execute 600 operations per minute.
    • You might see a 429 (Too Many Requests) error in your flow with error text like like "Rate limit is exceeded. Try again in 27 seconds."
  • You have an Office 365 or Trial plan that limits flows to 2000 actions per 5 minutes. Power Automate limits and configuration
    • For this particular throttle, both executed and skipped actions (as might happen in an if/else branch) count toward the limit.
    • This can cause flows used in Power Apps to timeout, making it appear the action did not work.
  • Your flow is executing an excessive number of actions per day, far in excess of the daily action limits for your plan
    • You can see the minimum number of actions that the Power Automate service will allow for each plan on the Request limits and allocation page
    • Every card in a flow that gets executed counts as an API call (action). This includes both actions that result in outgoing calls (e.g. calling SharePoint) and actions that don't (e.g. variable setting, delays, etc.). Only completed and failed actions (but not skipped) count toward the limit.
    • To summarize each plan:
      • Office 365 Flow licenses and trials: 2,000 actions across all flows created by a single user per day.
      • Paid Per user, Dynamics team member licenses: 5,000 actions across all flows created by a single user per day.
      • Paid Dynamics Professional licenses: 10,000 actions across all flows created by a single user per day.
      • Paid Dynamics Enterprise Application licenses: 20,000 actions across all flows created by single user per day.
      • Paid Per flow license: 15,000 actions per flow per day.
    • The Power Automate service typically allows higher counts than are documented here, and will not slow flows down based on occasional and reasonable overages. However, if your flows have action counts above these limits, they are subject to potential throttling.

Resolution


You can alleviate the problem by:

  • Redesigning your flow to use fewer actions.
    • If you have 'Do until' or 'For each item' loops in your flow, see if you can reduce the number of loop iterations, possibly by retrieving fewer items to iterate through.
    • Many connectors have 'Filter query' and 'Top count' parameters that can be used to reduce the number of items retrieved. Filtering with Odata
    • If you have a scheduled flow that runs frequently, consider reducing the frequency. Many flows that run once per minute or hour could be revised to occur less often.
  • Purchasing a Per User or Per Flow license from the pricing page 
    • If your flow is hitting the 2000 actions/5min throttle but otherwise does not generate a lot of load, this will be sufficient.
    • If your flow is executing thousands of actions every day, you should consider purchasing a Per Flow license to get better throughput and higher quotas. Per Flow plans provide the best performance quotas available.
    • Power Automate will eventually add the ability to purchase additional add-on packs if the Per Flow plan is still not enough, but until that time, if you must have more actions than we provide on a daily basis, you can consider exporting your flow to Logic Apps. Note that Logic Apps charges by the action, so you will notice the cost associated with your flow more acutely.

On the pricing page, you can choose which plan you would like to purchase. Each has a progressively higher throttling limit.

A tenant administrator will need to visit this page and purchase the plan because regular users will receive a message indicating that individual plan purchases are not available at this time. Tenant administrators will get redirected to the Office portal to purchase a plan. The tenant administrator should then apply the plan to the user who created the flow. Per Flow plans can be assigned on the flow details page.

Once the license is purchased and assigned, the author of the flow should resave it. Alternatively, flows will be updated in the background once per week to reflect current plans.

Any new runs will have a higher throttling limit. Old runs will continue to be throttled at the old limit because they cannot be updated once they are running. Old runs will compete with new runs for quota, so they will go even slower. If it's important for old runs to finish quickly, you should wait to generate new runs until the old runs have finished, or save a copy of the flow so that new runs do not compete with old runs for action quota.