Logic app (standard) performance and optimal number of workflows

John Tzanos 1 Reputation point
2022-06-07T07:44:41.477+00:00

I have created a logic app (standard) with the WS1 plan which contains the following workflows:
• 25 "monitoring" workflows which get triggered when a new email arrives in a shared mailbox. These consist merely of two actions: The trigger, and starting an additional workflow using a HTTP POST Action.
• 1 main workflow which gets called by each of the 25, to process the incoming email. The main workflow has about 10 actions if the email sender is unknown and 15 if it's known, so it's not particularly heavy.

The 25 workflows check for incoming emails every 15 seconds.

When I first set this up as a pilot, I had only 5 workflows + the main workflow and everything was working well.
When I expanded the pilot to include 20 additional "monitoring" workflows, I noticed that in 10-20% of the executions, the "monitoring" workflows spent between 10 and 30s trying to call the main workflow, usually with timeouts and retries. Since this behavior was new, I assumed it had to do with the increase in the number of workflows in the logic app.

However, checking the metrics, reveals that CPU and RAM load remain relatively low, i.e. 5% on average CPU with some rare bursts in the range of 15-25% and 40-45% RAM which are very close to the inital pilot.

The goal for us now is to include an additional 75 shared mailboxes for monitoring, therefore the big question here is what is causing this large delay when calling the main workflow and what can we do to tackle it?

It's absolutely clear that we will need to either scale up to WS2 or scale out (use multiple logic apps), but I do not understand based on what can we organize the workflows in multiple logic apps or perform a scale up, so that we get the optimal utilization of each logic app, with the minimum delays and performance problems.

Further I'm wondering if there are any other metrics which tell us how busy a logic app and whether we need to scale apart from the RAM and the CPU? Is there for example a number of instances that each logic app has available by default? I found the number 20 in the configuration, but I'm not sure if this really has some significance or relates mostly to Azure Function.

Thanks a lot in advance.

Best regards
John

Azure Logic Apps
Azure Logic Apps
An Azure service that automates the access and use of data across clouds without writing code.
1,821 questions
No comments
{count} votes