This article provides information on calculating Round Trip Time (RTT), Network Delay, Server Delay, Total Transaction Delay, Network Jitter, Packet Loss, and the effect of normalization on these delays.
The Application Performance Score (APS) is a method that Exinda appliances provide to monitor performance for specific applications. It provides information and a final score based on vital network statistics:
- Round Trip Time: This is the time it takes for a small packet to travel across the network and return.
- Network Delay: the overall time it takes for data to cross from a client to a server or vice versa.
- Server Delay: The time it takes for a server to respond to a request, not taking into account the time it took for the request to reach the server.
- Total Transaction Delay: The time it takes for data to cross the network from a client to the server and back. It is calculated as Network Delay from Client to Server + Server Delay + Network Delay from Server to Client.
- Network Jitter: It measures the variability of the network delay time; this is expressed as a multiple of one standard deviation.
- Packet Loss: It measures when one or more packets within a transmission are successfully sent, but fail to arrive at the destination.
Exinda appliances provide a normalized and non-normalized view of these statistics, to better show information depending on the application in question.
The normalization is done to a 1KB packet size. In some cases where protocols or applications use small packets, this normalization returns delays and statistics that are magnitudes higher than a standard delay for a packet belonging to the application in question; this includes Citrix, RDP (Remote Desktop Protocol), and other interactive applications used for terminal services. As a result, a non-normalized view was added for these applications to show the 'true' value. These most notably reply to the Network Delay and the Server Delay. On the APS page, under Configuration > Objects > Service Levels, they are denoted as 'Normalized' where applicable.
The APS calculation is performed using the following formula:
APS = 10 * ((1 x number of satisfied samples) + (0.5 x number of tolerated samples) + (0 x number of frustrated samples)) / total samples
- A satisfied sample is performing below the baseline threshold established when it was set up.
- A tolerated sample is performing between one to four times as quick as the baseline threshold.
- A frustrated sample is performing more than four times slower than the baseline threshold.
A sample is considered a transaction between a client and a server. Due to the behavior of the calculation of the metrics, APS requires a TCP flow to correctly calculate the values. UDP does not provide acknowledgments of the packets that have been sent, which is necessary to calculate Packet Loss and Network Delay. The multiple metrics are calculated as follow:
- Round Trip Time: This is the measure of how long it takes for a small packet to travel across the network and for an acknowledgment of that packet to be received. Because the Exinda appliance is in the middle of the path between the client and the server, it sums the round trip time between itself and the server (server RTT), and itself and the client (client RTT) to get the full RTT. As more packets are sent from the client through the Exinda appliance to the server and back, the RTT estimate is updated by averaging the new information. Averages are taken for the server RTT, and the client RTT and the average total RTT is the summation of the two.
- Network & Server Delay in a Read Transaction: When a client computer requests information from the server, the request and response are tracked to determine how long it takes for the client to send the request, and the server to send the requested data back to the client. The Network Delay consists of a summation of the client RTT, the client-server Transaction Delay through the Exinda, the server-client Transaction Delay through the Exinda and the server RTT.
The Server Delay is the time between the last packet of request going through Exinda to the Exinda receiving the first response from the server, minus the server RTT.
Total Time for Read Transaction simplifies down to the summation of the client RTT, Exinda Transaction Delay 1, Exinda Traction Delay 2, and the delay between request and response from Exinda to the server.
- Network & Server Delay in a Write Transaction: When a client computer sends information to be written to the server, the request and response are tracked to determine how long it takes for the client to send the data to the server, and the server to send an acknowledgment of receiving the data back to the client. The actual calculation is much the same as in a Read Transaction, although the time for processing the first and final packets will be different.
- Delay Normalization: To create accurate comparisons of the Network Delay experienced by a transaction, the appliance must analyze packets of the same size (normalized), as some transactions will involve significantly large packets and others incredibly small ones. All other factors being equal, Transaction Delays should increase with the amount of data transferred or the transaction size. To make the APS score independent of transaction size, the Transaction Delay metrics are normalized using a constant of 1024 bytes. The Normalized Network Delay is calculated as follows:
Normalized Network Delay = Total Network delay * 1024 / transaction bytes
- Packet Loss: it occurs when one or more packets within a transmission are successfully sent, but fail to arrive at the destination. Packet Loss can be caused by a variety of factors, including network congestion, faulty network components, e.g., hardware or drivers, or corrupted packets within the transmission. To recover from this, the data must be retransmitted to the destination to complete requests successfully. The amount of data retransmitted per flow is used to calculate the Network Efficiency metric, as shown below.
Efficiency = 100% * (transferred - retransmitted) / transferred
Network Loss = 100 - Efficiency
Refer to Exinda How-To Guide: Application Performance Scores (APS) for more detailed information on this topic.