Hi
I'm new to durable functions and have set up a consumption (serverless) based function plan in which I have installed a durable function.
The function is used to calculate a large set of matrices and usually takes between 1 and 5 minutes to run. The output is written to a blob in a storage account which is polled by the client app to retrieve updates and results.
It all works fine but I'm worried about scaling.
I notice that each time I run it, it provides access to two processors. However if I run it twice from the one client then each client only seems to get 1 processor and it runs at half the speed.
Note I've tried fanning out but that's ridiculously slow and totally useless to me as the data transfer sizes are large.
My questions are: - (I'm happy to pay more if needed)
What will happen as it scales up to 100 simultaneous runs?
Is there a more useful plan that gives me 2 processors minimum per execution?
Can I pay more and get 4,8, even 16 processors for EACH single execution?
If it's really successful it may go to 500 or even 1000 simultaneous runs... can Azure cope with this?
I've thought about setting up 100 identical functions (obviously with different names) and calling them in turn for each client... would that work? If so it seems odd that its needed.
Many thanks
Mark Barge