Azure app service - http performance

Copper Contributor

Hi,

 

as part of a project we have multiple app services running on azure.

These services communicate with each other via http.

As part of this project, we started running load tests and noticed surprisingly slow results even with, in our opinion, small number of requests.

In order to identify performance issues, I created 2 small web apps, 1 using .net and 1 using node.js.

Both apps provide a REST API that is called from our load tests running in VS Online. 

The apps call a single azure function that does a simple Thread.Sleep(1000) and returns, no other processing is done.

 

Trying both vertical and horizontal scaling, I got the following results:

 

Single B1 instance

 

# of requests

Avg. response in s

 

.net

Node.js

100              

1.5

1.7

300

3.1

6.6

500

7.1

23.4

 

 

Single B3 instance

 

# of requests

Avg. response in s

 

.net

Node.js

100              

1.7

1.5           

300

5.3

4                

500

6.5

10.2             

 

3 B1 instances

 

# of requests

Avg. response in s

 

.net

Node.js

100              

1.4                    

3.5

300

4.6

4.9                

500

6.7

15.1                

 

3 B3 instances

 

# of requests

Avg. response in s

 

.net

Node.js

100              

1.4                    

3.5

300

4.6

4.9                

500

7.5

7.2           

 

Looking at these results, it seems like the choice of technology (.net or node.js) does not have a big impact on performance.

Generally however, the avg. response times seem very long, especially since there is no real processing or business logic in the applications itself. Of course e.g 500 concurrent requests equals a much larger number of users on the platform but it seems like this should still take a lot less time than is seen in the test results.

The configuration of both applications is completely default, so I am wondering if there is anything we should consider to improve performance.

This is a rather important issue because we have a strong requirement of response times of less than 3 seconds.

 

Thanks and best regards,

Juergen Ziegler

0 Replies