Compression Test
The Citrix ADC appliance compression feature compresses the size of HTTP responses sent from servers to compression-aware browsers and thereby improves the performance of Web sites by reducing the download time of Web content. Bandwidth is also saved in the process. Another indirect benefit of HTTP compression is that the data passed between the Web server and the browser is encrypted by virtue of the compression algorithm, adding more security to the data.
If you enable the Compression feature, the Citrix ADC intercepts requests from clients and determines whether the client can accept compressed content. After receiving the HTTP response from the server, the ADC examines the content to determine whether it is compressible. If the content is compressible, the ADC compresses it, modifies the response header to indicate the type of compression performed, and forwards the compressed content to the client.
The real test of the effectiveness of the compression feature lies in how much data is compressed and how much bandwidth is saved in the process. Besides the compression algorithm employed, when compression occurs and what type of data is compressed also influence how compression is performed and how beneficial it really is. Moreover, errors encountered when decompressing data also serve as factors impacting user-perception on compression and its usefulness. Using the Compression test, administrators can accurately assess the effectiveness of the compression feature, keep a close watch on all factors influencing compression, and understand how these parameters can be fine-tuned to improve compression ratios and increase bandwidth savings.
Target of the test : An ADC VPX/MPX
Agent deploying the test : A remote agent
Outputs of the test : One set of results for the ADC appliance being monitored.
Parameter | Description |
---|---|
Test Period |
How often should the test be executed. |
Host |
The IP address of the host for which the test is being configured. |
NetScaler Username and NetScaler Password |
To monitor a ADC device, the eG agent should be configured with the credentials of a user with read-only privileges to the target ADC device. Specify the credentials of such a user in the NetScaler Username and NetScaler Password text boxes. |
SSL |
The eG agent collects performance metrics by invoking NITRO (ADC Interface Through Restful interfaces and Objects) APIs on the target ADC device. Typically, the NITRO APIs can be invoked through the HTTP or the HTTPS mode. By default, the eG agent invokes the NITRO APIs using the HTTPS mode. This is why, the SSL flag is set to Yes by default. If the target ADC device is not SSL-enabled, then the NITRO APIs can be accessed through the HTTP mode only. In this case, set the SSL flag to No. |
Measurement | Description | Measurement Unit | Interpretation |
---|---|---|---|
HTTP compression requests |
Indicates the number of HTTP compression requests the ADC received in the last measurement period for which the response was successfully compressed. |
Number |
After you enable compression and configure services, if you send requests to the ADC with the following header information: Accept-Encoding: gzip, deflate, and ADC compresses the corresponding response, this counter is incremented. |
HTTP compressible data received |
Indicates the amount of HTTP data the ADC received in the last measurement period, which can be compressed. |
MB |
This measure reports the content length of the response that the ADC receives from server. |
HTTP compressed data transmitted |
Indicates the amount of HTTP data the ADC sent to the client in the last measurement period after compressing the response from the server. |
MB |
|
HTTP compressible packets received |
Indicates the number of HTTP packets received by ADC in the last measurement period, that can be compressed. |
Number |
|
HTTP compressed packets transmitted |
Indicates the number of HTTP packets the ADC sent to the client in the last measurement period after compressing the response from the server. |
Number |
|
HTTP bandwidth saving |
Indicates the percentage of bandwidth resources saved due to compression of HTTP traffic. |
Percent |
A high value is desired for this measure, as it indicates that HTTP compression has managed to save considerable bandwidth resources. This serves as adequate proof of the effectiveness of the HTTP compression algorithm. On the other hand, a very low value of this measure is indicative of ineffective compression of HTTP traffic. |
HTTP compression ratio |
Indicates the ratio of the compressible HTTP data received from the server to the compressed HTTP data sent to the client. |
Percent |
The higher the compression ratio, the greater the bandwidth savings! This is why, a value close to 100% for this measure is indicative of a very effective HTTP compression mechanism, which is bound to result in significant savings in bandwidth usage. On the other hand, a very low value for this measure indicates that only a small amount of the compressible HTTP data has been successfully compressed, thus resulting in poor bandwidth savings. |
Total HTTP compression ratio |
Indicates the ratio of total HTTP data received to total HTTP data transmitted. |
Percent |
The value of this measure indicates what percentage of HTTP data has been compressed. A high value is hence desired for this measure. |
TCP compressible data received |
Indicates the amount of TCP data the ADC received in the last measurement period, which can be compressed. |
MB |
This measure reports the content length of the TCP response that the ADC receives from server. |
TCP compressed data transmitted |
Indicates the amount of TCP data the ADC sent to the client in the last measurement period after compressing the response from the server. |
MB |
|
TCP compressible packets received |
Indicates the number of TCP packets received by ADC in the last measurement period that can be compressed. |
Number |
|
TCP compressed packets transmitted |
Indicates the number of TCP packets the ADC sent to the client in the last measurement period after compressing the response from the server. |
Number |
|
TCP bandwidth saving |
Indicates the percentage of bandwidth resources saved due to compression of TCP traffic. |
Percent |
A high value is desired for this measure, as it indicates that TCP compression has managed to save considerable bandwidth resources. This serves as adequate proof of the effectiveness of the TCP compression algorithm. On the other hand, a very low value of this measure is indicative of ineffective compression of TCP traffic. |
TCP compression ratio |
Indicates the ratio of the compressible TCP data received from the server to the compressed TCP data sent to the client. |
Percent |
The higher the compression ratio, the greater the bandwidth savings! This is why, a value close to 100% for this measure is indicative of a very effective TCP compression mechanism, which is bound to result in significant savings in bandwidth usage. On the other hand, a very low value for this measure indicates that only a small amount of the compressible TCP data has been successfully compressed, thus resulting in poor bandwidth savings. |
Quantum compression |
Indicates the number of times ADC compresses a quantum of data. |
Number |
The ADC appliance buffers the data received from the server until it reaches a configured quantum size and then compresses the buffered data and transmits it to the client. The minimum value of the quantumSize configuration is 1 KB, the maximum is 63488 KB and the default value is 57344 KB. Since compression is a CPU-intensive operation, setting a quantumSize ensures that compression does not take place every time a response packet comes in, and instead occurs only when the response packets are of the quantumSize configured. A high value for this measure could indicate a very low quantumSize configuration, which is causing compression to occur frequently. This in turn, can put a strain on the CPU resources, if quantumSize is not increased soon. |
Push flag compression |
Indicates the number of times ADC compressed data in the last measurement period, upon receiving a TCP PUSH flag from the server. |
Number |
The PUSH flag ensures that data is compressed immediately without waiting for the buffered data size to reach the quantumSize. If the compression occurs frequently, despite setting a high quantumSize, you may want to check the PUSH flag status. If this flag is enabled, it is a clear indicator that the quantumSize has been ignored. To reduce the frequency of compression and to conserve CPU resources, you may want to keep the PUSH flag disabled. |
End of input compression |
Indicates the number of times ADC compressed data in the last measurement period, upon receiving End of Input (FIN packet). |
Number |
When the ADC receives End Of Input (FIN packet), it compresses the buffered data immediately without waiting for the buffered data size to reach the quantum size. If the compression occurs frequently, despite setting a high quantumSize and disabling the PUSH flag, it could be because the the End of input packet has been received. |
Timer compression |
Indicates the number of times in the last measurement period, ADC compressed data because the data accumulation timer expired. |
Number |
The timer expires if the server response is very slow and consequently, the ADC does not receive response for a certain amount of time. Under such a condition, the ADC compresses the buffered data immediately without waiting for the buffered data size to reach the quantum size. If frequent timer expiry is causing compression to occur frequently, you may want to reset the timer to wait for a longer time before compressing buffered data. |
Compressed data received |
Indicates the total amount of compressed data received by ADC in the last measurement period. |
MB |
|
Decompressed data transmitted |
Indicates the total amount of decompressed data transmitted by ADC during the last measurement period. |
MB |
|
Compressed packets received |
Indicates the number of compressed packets received by ADC during the last measurement period. |
Number |
|
Decompressed packets transmitted |
Indicates the number of decompressed packets transmitted by ADC during the last measurement period. |
Number |
|
Decompression ratio |
Indicates the ratio of decompressed data transmitted to compressed data received. |
Percent |
A high value is indicative of an efficient decompressing mechanism. |
Wrong data |
Indicates the number of data errors encountered when decompressing during the last measurement period. |
Number |
Ideally, the value of this measure should be 0. |
Less data |
Indicates the number of times in the last measurement period, ADC received less data than declared by the protocol. |
Number |
|
More data |
Indicates the number of times in the last measurement period, ADC received more data than declared by the protocol. |
Number |
|
Memory failures |
Indicates the number of times memory failures occurred when decompressing, during the last measurement period. |
Number |
Ideally, the value of this measure should be 0. |
Unknown |
Indicates the number of times unknown errors occurred while decompressing, during the last measurement period. |
Number |
Ideally, the value of this measure should be 0. |