Azure Storage Performance (classic) Test

Azure Storage provides the flexibility and hyper-scale needed to store and retrieve large amounts of data. The Azure storage stores all information relating to the Azure websites, cloud services, virtual machines etc and ensures prompt availability of data. If the Azure storage is unavailable or is error-prone too often, then the Azure cloud will not be accessible by the users causing inconvenience to them. Therefore it is essential to monitor the Azure storage and the Azure Storage Performance (classic) test helps administrators exactly in this regard!

This test monitors the Azure storage accounts in the target Azure cloud and reports the availability of the storage. In addition, this test helps administrators to figure out the error-prone storage accounts and the errors encountered by the storage accounts. Using this test, administrators can also figure out the latencies of the storage accounts to process the requests.

This test is disabled by default. To enable the test, go to the enable / disable tests page using the menu sequence : Agents -> Tests -> Enable/Disable, pick Microsoft Azure as the Component type, Performance as the Test type, choose this test from the disabled tests list, and click on the < button to move the test to the ENABLED TESTS list. Finally, click the Update button.

Target of the Test: Microsoft Azure

Agent deploying the test: A remote agent

Output of the test: One set of results for each storage account on the target Microsoft Azure being monitored

Measures reported by the test:

Measurement Description Measurement Unit Interpretation

Availability

Indicates the availability of this storage, in percent.

Percent

 

Total requests

Indicates the total number of requests made to this storage.

Number

 

Total ingress

Indicates the amount of ingress data in this storage.

MB

The value of this measure includes the ingress from an external client to the Azure as well as ingress within Azure.

Total egress

Indicates the amount of egress data in this storage.

MB

The value of this measure includes the egress from an external client to the Azure as well as egress within Azure.

Total billable requests

Indicates the number of billable requests received by this storage.

Number

Every request made to an account’s storage service is either billable or non-billable. Storage Analytics logs each individual request made to a service, including a status message that indicates how the request was handled. Similarly, Storage Analytics stores metrics for both a service and the API operations of that service, including the percentages and count of certain status messages. Together, these features can help you analyze your billable requests, make improvements on your application, and diagnose issues with requests to your services.

Avg E2E latency

Indicates the average end to end latency of successful requests made to this storage.

msecs

A low value is desired for this measure.

Avg server latency

Indicates the average latency used by this storage to process a successful request.

msecs

A low value is desired for this measure.

Successful requests percent

Indicates the percentage of successful requests made to this storage.

Percent

Ideally, the value of this measure should be high.

Successful requests

Indicates the number of successful requests made to this storage.

Number

A high value is desired for this measure.

Throttling error percent

Indicates the percentage of requests made to this storage that failed with throttling errors.

Percent

Ideally, the value of this measure should be zero.

Timeout error

Indicates the percentage of requests made to this storage that failed with timeout errors.

Percent

Ideally, the value of this measure should be zero.

Server other error percent

Indicates the percentage of requests made to this storage that failed with status code 500.

Percent

Internal Server Error where the storage error code is not Timeout.

Ideally, the value of this measure should be zero.

Client other error percent

Indicates the percentage of requests made to this storage that failed with errors such as NotFound, Precondition Failed etc.

Percent

Most 3XX and 4XX failures fall under this category.

Ideally, the value of this measure should be zero.

Authorization error percent:

Indicates the percentage of requests made to this storage that failed with authorization errors.

Percent

Ideally, the value of this measure should be zero.

Network error percent

Indicates the percentage of requests made to this storage that failed with network errors.

Percent

Ideally, the value of this measure should be zero.

Successful anonymous requests

Indicates the number of anonymous requests that were successfully made to this storage.

Number

These will also include all conditional GET requests that did not return because the condition did not succeed.

These are billable requests and counted for availability.

Successful SAS requests

Indicates the number of successful shared access signature requests made to this storage.

Number

These will also include all conditional GET requests that did not return because the condition did not succeed.

These are billable requests and counted for availability.

Throttling error

Indicates the number of authenticated requests that returned ServerBusy status i.e., that returned status code 503.

Number

These are not billable and are not counted for availability.

Ideally, the value of this measure should be zero.

Anonymous throttling error

Indicates the number of anonymous requests that returned ServerBusy status i.e., that returned status code 503.

Number

These are not billable and are not counted for availability.

Ideally, the value of this measure should be zero.

SAS throttling error

Indicates the number of Shared Access Signature requests that returned ServerBusy status i.e., that returned status code 503.

Number

These are not billable and are not counted for availability.

Ideally, the value of this measure should be zero.

Client timeout error

Indicates the total number of authenticated requests that timed out.

Number

These are seen as timeout errors or Http Status code 500 with Storage error code as “Timeout”.

This happens when timeout value provided is not sufficient for the IO over the network. For example, if the read/write/etc. request completes in the expected time on the server but it takes a long time to return to the client due to network latency, this is considered as a client timeout.

Any other timeout will be deemed as ServerTimeout.

These are billable requests and counted for availability.

Ideally, the value of this measure should be zero.

Anonymous client timeout error

Indicates the number of anonymous errors that timed out.

Number

These are seen as timeout errors or Http Status code 500 with Storage error code as “Timeout”.

This happens when timeout value provided is not sufficient for the IO of the network. For example, if the read/write/etc. request completes in the expected time on the server but it takes a long time to return to the client due to network latency, this is considered as a client timeout.

Any other timeout will be deemed as AnonymousServerTimeout.

These are billable requests and counted for availability.

Ideally, the value of this measure should be zero.

SAS client timeout error

Indicates the number of Shared Access Signature requests that timed out.

Number

These are seen as timeout errors or Http Status code 500 with Storage error code as “Timeout”.

This happens when timeout value provided is not sufficient for the IO of the network. For example, if the read/write/etc. request completes in the expected time on the server but it takes a long time to return to the client due to network latency, this is considered as a client timeout.

Any other timeout will be deemed as SASServerTimeout.

These are billable requests and counted for availability.

Ideally, the value of this measure should be zero.

Server timeout error

Indicates the total number of authenticated requests that timed out.

Number

The requests may time out due to the storage service taking too long to respond to the request. The time taken by service excludes the time to read/write from/to client over the network.

These are seen as timeout errors or Http Status code 500 with Storage error code as “Timeout”.

These are not billable requests and counted against availability.

Ideally, the value of this measure should be zero.

Anonymous server timeout error

Indicates the total number of anonymous requests that timed out.

Number

The requests may time out due to the storage service taking too long to respond to the request. The time taken by service excludes the time to read/write from/to client over the network.

These are seen as timeout errors or Http Status code 500 with Storage error code as “Timeout”.

These are not billable requests and counted against availability.

Ideally, the value of this measure should be zero.

SAS server timeout error

Indicates the total number of Shared Access Signature requests that timed out.

Number

The requests may time out due to the storage service taking too long to respond to the request. The time taken by service excludes the time to read/write from/to client over the network.

These are seen as timeout errors or Http Status code 500 with Storage error code as “Timeout”.

These are not billable requests and counted against availability.

Ideally, the value of this measure should be zero.

Client other error

Indicates the number of authenticated requests that failed as expected.

Number

The requests may be expected to fail when the resources already exits or when the resources fail.

These are billable requests and counted for availability.

Ideally, the value of this measure should be zero.

SAS client other error:

Indicates the number of Shared Access Signature requests that failed as expected.

Number

The requests may be expected to fail when the resources already exits or when the resources fail.

These are billable requests and counted for availability.

Ideally, the value of this measure should be zero.

Anonymous client other error:

Indicates the number of anonymous requests that failed precondition checks.

Number

These are billable requests and counted for availability.

Ideally, the value of this measure should be zero.

Server other error

Indicates the total number of authenticated requests that failed due to unknown server errors.

Number

These are typically Http Status code 500 with Storage error code other than Timeout.

These are not billable requests and counted against availability.

Ideally, the value of this measure should be zero.

Anonymous server other error

Indicates the total number of anonymous requests that failed due to unknown server errors.

Number

These are typically Http Status code 500 with Storage error code other than Timeout.

These are not billable requests and counted against availability.

Ideally, the value of this measure should be zero.

SAS server other error

Indicates the total number of Shared Access Signature requests that failed due to unknown server errors.

Number

These are typically Http Status code 500 with Storage error code other than Timeout.

These are not billable requests and counted against availability.

Authorization error

Indicates the total number of authentication requests that failed due to authorization errors.

Number

A good example for such errors is write requests from users to logs under $logs.

These are billable requests and counted for availability.

Ideally, the value of this measure should be zero.

Anonymous authorization error

Indicates the total number of anonymous requests that failed due to authorization errors.

Number

A good example of authentication error occurance is when only authenticated write requests are allowed against all write requests in the storage.

These are billable requests and counted for availability.

SAS authorization error

Indicates the number of Shared Access Signature requests that failed due to authorization errors.

Number

Example: write requests using SAS when only read access was provided Authorization error.

These are billable requests and counted for availability.

Ideally, the value of this measure should be zero.

Network error

Indicates the number of authenticated requests that failed due to network errors.

Number

Network errors occur when a user prematurely closes the connection before the timeout expires or if there are problems in any of the intermediate switches.

These are billable requests and counted for availability.

Ideally, the value of this measure should be zero.

Anonymous network error

Indicates the number of anonymous requests that failed due to network errors.

Number

Network errors occur when a user prematurely closes the connection before the timeout expires or if there are problems in any of the intermediate switches.

These are billable requests and counted for availability.

Ideally, the value of this measure should be zero.

SAS network error

Indicates the number of Shared Access Signature requests that failed due to network errors.

Number

Network errors occur when a user prematurely closes the connection before the timeout expires or if there are problems in any of the intermediate switches.

These are billable requests and counted for availability.

Ideally, the value of this measure should be zero.

Ingress bandwidth

Indicates the amount of bandwidth utilized for transferring ingress data requests per second to this storage.

MBs

 

Egress bandwidth

Indicates the amount of egress data utilized per second in this storage.

MBs