Fellow coders,
I know this question is not exactly about programming, feel free to close this issue and point me to the correct Forum if SO is not the appropriate place for it.
I have developped a .NET Core 3.1 App, deployed on Azure App Service, but I face a performance issue.
The service consists of an OCR Analysis of various files, the OCR part being performed by an external library embedded into a DLL. On my laptop, when running the service locally, the OCR Part (one line of code, no I/O, nothing else being performed) takes between one and two seconds. It takes a big chunk of the available CPU though.
For the exact same file being processed, and monitoring the exact same line of code, the computation takes 6 to 8 seconds when running online on Azure, with no other request being processed. The App is deployed on Azure Web App, S1 Production Plan (100 ACU, around 60 $/month). With the number of users increasing, the overall response time is increasing as well and this compromises the performance of the entire system.
Before I start switching Plans and spending my customer's money, I would like to make sure that I am not missing something important on how to chose a Web App Plan.
- First, all other things being equal, should I expect a S1 Production WebApp to be slower than my own computer on a CPU Based Job? My laptop is fitted with a multicore i7-7700 CPU. It likely depends on many external parameters but I would like to hear a general rule of thumb if any.
- When reviewing Max CPU Usage of the Web App, it peaks at 50-60%, cf.screenshot below. Does it mean that CPU usage is not a bottleneck for this process, and therefore that I am missing something else?
- What readings would you recommend on how to dimension a Web App / Server for a given job?
Thanks for your help,
