In the previous post I ran the test with 5 concurrent clients and in this post I present results fgenerated by the same test but executed with different numbers of concurrent users:
The results are presented in this table:
The chart below shows the number of transactions reported for each database performance level and number of concurrent clients
The results show that Azure databases in the Standard edition (for any performance level - S0, S1, and S2) reach their maximum numbers of IO's (as it's defined by Microsoft for each of the levels) with a single client (because the test generates lot's of INSERT/UPDATE operations).
For the Premium edition adding concurrent users does increase the overall performance but only level P3 demonstrates ability to scale up to 10 clients for the given performance test (I did run the test with 15 concurrent users and for level P3 the results were only marginally better by 2.5-2.8 %).
Thus, if your application is IO bound and must handle multiple concurrent active connections then run your tests to choose the database edition and performance level than would meet your needs.
To test how well the Azure SQL databases are able to handle CPU bound load I used this test - calculate 200,000 times SHA-512 hash value for a 1280-byte string.
The results shows that the performance levels at the Premium edition seem to have identical internal cap on CPU usage but for the standard edition the maximum CPU utilization allowed per connection is actively throttled.
- Azure SQL databases Standard (S0, S1, S2) and Premium (P1, P2, P3) editions were used
- During all test only a single Azure SQL database existed on the server at any given time
- The tests were executed for 200 seconds with 1,2,3,5, and 10 concurrent clients and after completion the test for a given number of the concurrent users all tables were dropped and re-created
- Three tests were executed for each edition and number of concurrent users and the average number of transactions was calculated for the table below
- After completion the tests against a particular database edition the database was dropped and a new one was created in the next edition and/or tier (e.g., when all 5 tests have been completed against the S0 database that database was dropped and a new one was created in the S1 edition/tier)
The results are presented in this table:
The chart below shows the number of transactions reported for each database performance level and number of concurrent clients
The results show that Azure databases in the Standard edition (for any performance level - S0, S1, and S2) reach their maximum numbers of IO's (as it's defined by Microsoft for each of the levels) with a single client (because the test generates lot's of INSERT/UPDATE operations).
For the Premium edition adding concurrent users does increase the overall performance but only level P3 demonstrates ability to scale up to 10 clients for the given performance test (I did run the test with 15 concurrent users and for level P3 the results were only marginally better by 2.5-2.8 %).
Thus, if your application is IO bound and must handle multiple concurrent active connections then run your tests to choose the database edition and performance level than would meet your needs.
To test how well the Azure SQL databases are able to handle CPU bound load I used this test - calculate 200,000 times SHA-512 hash value for a 1280-byte string.
The results shows that the performance levels at the Premium edition seem to have identical internal cap on CPU usage but for the standard edition the maximum CPU utilization allowed per connection is actively throttled.
Comments
Post a Comment