question

Stefan-2418 avatar image
0 Votes"
Stefan-2418 asked Stefan-2418 commented

Durable Python Azure Function not parallelizing activity function, need help debugging

Hello ! I'm trying to parallelize a relatively computationally intensive series of calculations inside a Python Durable Activity function. When I run/test it locally it works (in series, not in parallel). When I deploy the function app to the cloud and trigger the orchestrator the status uri tells me the function is running, but when I look at the monitoring section I see only 1 function executed at a time when I expect to see ~50. It's unclear to me how to debug this, I've looked at the log stream and don't see any hints as to what the issue could be. I got parallelization to work with a basic Python function that sleeps for 5 seconds. Any help/guidance is much appreciated, thanks!

azure-functions
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

1 Answer

ChaitanyaNaykodiMSFT-9638 avatar image
0 Votes"
ChaitanyaNaykodiMSFT-9638 answered Stefan-2418 commented

Hello @Stefan-2418, apologies for the delay in my response.
Below are some points which I will like to highlight and I think are helpful in resolving the issues related to scaling of Python Durable Function Apps

  1. I think it will be helpful if you could go through the documentation for Scale and Performance for Python Function Apps. You can go through the Async section and the FUNCTIONS_WORKER_PROCESS_COUNT and see if any particular setting is causing the issue mentioned above.

  2. On Durable front, in Language runtime considerations section of Performance and scale in Durable Functions you can explore more on the properties like maxConcurrentOrchestratorFunctions and maxConcurrentActivityFunctions and see what settings work best for you in achieving the desired scalability.

  3. I found the explanations made by Connor on this issue very insightful in understanding some concepts related to performance of Durable Python function Apps.

Please let me know if there any concerns. Thank you!




· 1
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

Really appreciate your response @ChaitanyaNaykodiMSFT-9638, thank you. In that same function app I was able to use a a simple orchestrator + activity (all the activity fn does is sleep for 5 seconds then return a number) to run 50 tasks in parallel as I would expect, which makes me believe the variables you mentioned might not be the issue (since parallelizing works fine on a simpler function) . But I'll go through the documentation you linked to again anyway and take a closer look at Connor's explanations. Again, thanks for your help!!


0 Votes 0 ·