Load Balancing Virtual Servers Test

The load balancing feature is a core feature of the NetScaler appliance. The load balancing feature distributes user requests for Web site pages and other protected applications across multiple servers that all host (or mirror) the same content.

A load balancing setup includes a load-balancing virtual server and multiple load-balanced application servers. The virtual server receives incoming client requests, uses the load balancing algorithm to select an application server, and forwards the requests to the selected application server. The following conceptual drawing illustrates a typical load balancing deployment.

http://support.citrix.com/proddocs/topic/netscaler-load-balancing-93/LB-Architecture-1.PNG

Figure 1 : Load balancing architecture

The entities that you configure in a typical NetScaler load balancing setup are:

  • Load balancing virtual server. The IP address, port, and protocol combination to which a client sends connection requests for a particular load-balanced website or application. If the application is accessible from the Internet, the virtual server IP address (VIP) is a public IP address. If the application is accessible only from the local area network (LAN) or wide area network (WAN), the VIP is usually a private (ICANN non-routable) IP address.
  • Service. The IP address, port, and protocol combination used to route requests to a specific load-balanced application server. A service can be a logical representation of the application server itself, or of an application running on a server that hosts multiple applications. Each service is bound to a specific virtual server.
  • Server object. An entity that identifies a physical server and provides the server's IP address. If you want to use the server's IP address as the name of the server object, you can enter the server's IP address when you create a service, and the server object is then created automatically. Alternatively, you can create the server object first and assign it an FQDN or other name, and then specify that name instead of the IP address when you create the service.
  • Monitor. An entity on the NetScaler appliance that tracks a service and ensures that it is operating correctly. The monitor periodically probes (or performs a health check on) each service to which you assign it. If the service does not respond within the time specified by the time-out, and a specified number of health checks fail, that service is marked DOWN. The NetScaler appliance then skips that service when performing load balancing, until the issues that caused the service to quit responding are fixed.

The load balancing virtual server can use any of a number of algorithms (or methods) to determine how to distribute load among the load-balanced servers that it manages. The default load balancing method is the least connection method, in which the NetScaler appliance forwards each incoming client connection to whichever load-balanced application server currently has the fewest active user connections.

Since load balancing manages user requests to heavily used applications, it prevents poor performance and outages. Irregularities in load-balancing can hence cause significant delays in request processing, thus adversely impacting the user experience with a load-balanced application. To avoid this, you need to configure the periodic execution of the Load Balancing Virtual Servers test. For each virtual server configured on the NetScaler appliance, this test does the following:

  • Verifies and promptly reports the non-availability / abnormal state of the virtual servers;
  • Continuously monitors the load on the load-balancing virtual servers and reveals how well each server processes client requests;
  • Detects inconsistencies in load-balancing early on;
  • Warns administrators of these deviations proactively;
  • Helps initiate changes in the load-balancing algorithm (if required);

Target of the test : A NetScaler VPX/MPX

Agent deploying the test : A remote agent

Outputs of the test : One set of results for each load balancing virtual server configured on the NetScaler appliance being monitored.

Configurable parameters for the test
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 NetScaler device, the eG agent should be configured with the credentials of a user with read-only privileges to the target NetScaler device. Specify the credentials of such a user in the NetScaler Username and NetScaler Password text boxes.

Confirm Password

Confirm the NetScaler Password by retyping it here.

SSL

The eG agent collects performance metrics by invoking NITRO (NetScaler Interface Through Restful interfaces and Objects) APIs on the target NetScaler 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 NetScaler 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.

Show Up Server Only

The default setting of this flag is No; this indicates that this test, by default, monitors all the services configured in a NetScaler device. If you want the test to monitor only those services that are up and running currently, then set this value to Yes.

Exclude Servers

Provide a comma-separated list of virtual server names or name patterns that need to be excluded from monitoring. By default, this is set to none, indicating that all virtual servers are by default monitored.

Detailed Diagnosis

To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option.

The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:

  • The eG manager license should allow the detailed diagnosis capability
  • Both the normal and abnormal frequencies configured for the detailed diagnosis measures should not be 0.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Server state

Indicates the current state of this virtual server.

 

The values reported by this measure and their numeric equivalents are as shown in the table:

Numeric Value Measure Value
0 Up
1 Down
2 Out of service
3 Transition out of service
4 Down when going out of service
-1 Unknown

Note:

By default, this measure reports the above-mentioned Measure Values while indicating the virtual server state. However, in the graph of this, the states will be represented using the corresponding numeric equivalents only.

The detailed diagnosis of this measure shows the Service Type, Primary Port and the Primary IP address of the virtual server.

Virtual server health status

Indicates the current health of this virtual server.

Percent

A high value is desired for this measure, as low values are indicative of unhealthy state.

Use the detailed diagnosis of this measure to know which service is bounding with the virtual server.

Client connections

Indicates the current number of client connections to this virtual server.

Number

This is a good indicator of the load on the virtual server. Compare the values of this measure across virtual servers to determine which virtual server is heavily loaded currently.

Server connections

Indicates the number of current connections to the load-balanced application servers behind this virtual server.

Number

 

Client connections in established state

Indicates the number of client connections that were in the ESTABLISHED state during the last measurement period.

Number

 

Server connections in established state

Indicates the number of server connections that were in the ESTABLISHED state during the last measurement period.

Number

 

Data received

Indicates the amount of request data received on this service or virtual server during the last measurement period.

MB

These measures serve as effective indicators of data/packet load on a virtual server.

Data transmitted

Indicates the amount of response data transmitted by this service or virtual server during the last measurement period.

MB

Packets received:

Indicates the number of packets received on this service or virtual server during the last measurement period.

Number

Packets sent

Indicates the number of packets sent by this service or virtual server during the last measurement period.

Number

Requests received:

Indicates the number of requests received on this service or virtual server during the last measurement period.

Number

If the number of Requests received is a lot higher than the Responses received for a virtual server, it indicates that many requests are still pending processing on the virtual server; one of the reasons for latencies in request processing is an inefficient load-balancing algorithm.

Responses received

Indicates the amount of responses received by this service or virtual server during the last measurement period.

Number

Spill over threshold

Indicates the spillover threshold that was set on the virtual server during the last measurement period.

Number

Spillover is a means to divert new connections to a vserver to a backup vserver when the number of connections to the vserver exceeds the threshold value. Spillover can either be connection-based or dynamic.

Virtual server experienced spill over

Indicates the number of times the spill over threshold was exceeded by this virtual server during the last measurement period.

 

Number

A connection overload can cause a spillover. A high value of this measure indicates that the virtual server was often overloaded with connections. This can in turn be caused by inefficient load-balancing by the virtual server.

 

Deferred requests

Indicates the number of deferred requests received on this virtual server during the last measurement period.

Number

 

Labeled connections

Indicates the number of client connections to this virtual server that were labeled during the last measurement period.

Number

The NetScaler Web 2.0 push feature enables the server to label a client connection and subsequently identify and send data over that labeled connection. With NetScaler Web 2.0 push enabled, the client first establishes a TCP/IP connection and connects to the NetScaler appliance. The appliance uses the configured load balancing method or content switching policy to select a Web server (referred to as a notification server) to which the request is to be forwarded. The appliance then initiates the labeling protocol with the Web server. This protocol enables the Web server to label the connection and defer the response. The protocol also enables the server to process other requests without invoking push processing. 

Upon receipt of the deferred response from the Web server, the appliance starts waiting for updates from the Web server. When updates become available, the Web server uses the message push protocol to push the updates/messages to a push virtual server. A push virtual server is a load balancing virtual server with service type PUSH or SSL_PUSH. The appliance then processes updates/messages and uses the label to 'push' the updates to the client. This way, the NetScaler Web 2.0 push feature helps reduce the frequent polling of the Web server for updates, and thus minimizes the load on the server.

From a load-balancing perspective therefore, a large number of Labelled connections and Push labels are desired.

Push labels

Indicates the number of labels for this push virtual server during the last measurement period.

Number

Virtual server hits

Indicates the number of virtual server hits during the last measurement period.

Number