CSS Content Load-Balancing Configuration Guide (Software Version 7.50)
Configuring Loads for Services

Table Of Contents

Configuring Loads for Services

Configuring Relative Load for Services

Relative Load Overview

Configuring Relative Load

Relative Load Configuration Quick Start

Configuring Global Load Reporting

Configuring the Relative Load Step

Configuring the Global Load Threshold

Configuring the Load Teardown Timer

Configuring the Load Ageout Timer

Showing Global Service Loads

Configuring the Absolute Load Calculation Method

Overview of Calculating Absolute Load

Configuration Requirements and Restrictions

Absolute Load Configuration Quick Start

Configuring Load Calculation

Using the load absolute-sensitivity Command

Configuring load absolute-sensitivity

Optimizing the Absolute Load Number Scale

Configuring Load Variance

Displaying Relative Load Statistics

Displaying Absolute Load Calculation Ranges

Using ArrowPoint Content Awareness Based on Server Load and Weight

Using ACA Based on Server Load

Using ACA Based on Server Weight and Load

Configuring the Load Command for Use with ACA


Configuring Loads for Services


A service becomes ineligible to receive flows when its load number exceeds the configured load threshold. This chapter contains the following sections on how to configure relative and absolute load for services.

Configuring Relative Load for Services

Configuring the Absolute Load Calculation Method

Information in this chapter applies to all CSS models except where noted.

Configuring Relative Load for Services

The following sections describe how to configure relative load for services:

Relative Load Overview

Configuring Relative Load

Showing Global Service Loads

Relative Load Overview

Relative load is a mechanism that the CSS uses to express the current load experienced by a service. The CSS calculates relative load by using the variances in normalized response times from client to service to determine a service's load number. A service with a heavier processing load would be biased toward a more significant, larger load number. For details on configuring absolute load, see the "Configuring the Absolute Load Calculation Method" section.

To configure global load parameters for the eligibility and ineligibility of CSS services, use the load report, load teardown timer, and load ageout timer commands (discussed later in this section).


Note Use relative load in a GSLB environment when the configurations and traffic patterns of all CSSs in the peer mesh are very similar.


You can adjust relative load calculations by changing the load step size, which is the difference, in milliseconds, between load numbers. The CSS can determine the load step dynamically, or you can configure the initial load step using the load step command.

The load on a service has a range of 2 to 255, with an eligible load of 2 to 254. An eligible service is an active service that can receive flows. A service with a load of 255 is offline.

A service becomes ineligible to receive flows when its load number exceeds the configured load threshold. The CSS uses the configured ageout timer value to return the service to the eligible state.

For the CSS to consider the service loads as different, response times of the services must differ by the configured load step or greater. If the response times differ by less than the configured load step, the CSS considers the services to have the same load.


Note Redirect services have load numbers associated with them, but the load numbers are either 2 (available) or 255 (unavailable).


Figure 6-1 shows servers A, B, and C with response times of 100 ms, 1100 ms, and 120 ms, respectively. One group of servers has load step configured to 10 ms. The second group of servers has load step configured to 100 ms.

Figure 6-1 Load Calculation Example with Three Servers

For the servers set to the 10 ms load step, the difference in response time between:

ServerA and serverB is 1000 ms. Because this value is greater than the configured load step of 10 ms, the CSS considers the server loads to be different.

ServerA and serverC is 20 ms. Because this value is greater than the configured load step of 10 ms, the CSS considers the server loads to be different.

For the servers set to 100 ms load step, the difference in response time between:

ServerA and serverB is 1000 ms. Because this value is greater than the configured load step of 100 ms, the CSS considers the server loads to be different.

ServerA and serverC is 20 ms. Because this value is less than the configured load step of 100 ms, the CSS considers servers A and C to be the same load.

Increasing the load step causes the load for servers to be closer to each other. Decreasing the load step causes the load for servers to be further from each other.

To enable you to configure an accurate load threshold for a server, you can calculate a load number for a server. To calculate a server load number:

1. Take the difference between the server with the lowest response time and the server for which you want to determine a load number.

2. Divide the difference by the configured load step.

3. Add this number to the calculated load step of the server with the lowest response time, which is always 2.

For example, to calculate the load number for serverC with the 10 ms load step:

1. Take the difference in server response time between serverA and serverC (20 ms).

2. Divide it by the configured load step (10 ms). The result equals 2.

3. Add 2 to serverA's (server with lowest response time) calculated load of 2 to determine serverC's calculated load of 4.

Configuring Relative Load

The following sections describe how to configure load:

Relative Load Configuration Quick Start

Configuring Global Load Reporting

Configuring the Relative Load Step

Configuring the Global Load Threshold

Configuring the Load Teardown Timer

Configuring the Load Ageout Timer

Relative Load Configuration Quick Start

Table 6-1 provides a quick overview of the basic steps required to configure relative load for services. Each step includes the CLI command required to complete the task. For a complete description of each feature and all the options associated with the CLI commands, see the sections following Table 6-1.

Table 6-1 Relative Load Configuration Quick Start 

Task and Command Example

1. Enter config mode by typing config.

# config
(config)#

2. Enable the CSS to generate teardown reports and to derive load numbers.

(config)# load reporting

3. Set the relative load step, which is the difference, in milliseconds, between load numbers.

(config)# load step 100 dynamic

4. Define the global load number. The CSS uses this number to determine whether a service is eligible to receive flows.

(config)# load threshold 25

5. Set the maximum time interval, in seconds, between teardown reports

(config)# load teardown-timer 120

6. Set the time interval, in seconds, in which the CSS times out stale load information for a service.

(config)# load ageout-timer 180

7. (Recommended) Use the show load command to verify your configuration.

(config)# show load

The following running-configuration example shows the results of entering the commands in Table 6-1.

!*************************** GLOBAL ***************************
  load teardown-timer 120 
  load ageout-timer 180 

  load step 100 dynamic 
  load threshold 25 

Configuring Global Load Reporting

A teardown report is a summary of response times for services when flows are being torn down. The CSS uses the teardown report to derive the load number for a service. By default, load reporting is enabled on the CSS. This command applies to both relative load and absolute load. Use the load reporting command to enable load reporting; the CSS generates teardown reports and derives load numbers.

If you are not concerned about load reporting, disable it and it may increase performance (depending on flows and load reporting already occurring). To disable load reporting, enter:

(config)# no load reporting

To reenable load reporting, enter:

(config)# load reporting

Configuring the Relative Load Step

By default, the CSS starts at a load step of 10 ms and then dynamically calculates the load step as it accumulates minimum and maximum response times for the services. Use the load step command to set the relative load step, which is the difference, in milliseconds, between load numbers. Load numbers have a range from 2 to 254.

When you configure the load step to reduce the flows to a slower service, consider the differences in response times between services. For example:

Increasing the load step causes the load for services to be closer to each other, thus increasing the number of flows to a slower service.

Decreasing the load step causes the load for services to be further from each other, decreasing the flows to a slower service.

The options and syntax for this global configuration mode command are:

load step ms dynamic (default) - Set the initial load step. The CSS uses the default of 10 ms as the initial load step, modifying it after the CSS collects sufficient response-time information.

load step ms static - Set a constant load step. The CSS uses this load step value instead of making dynamic calculations.

Enter the load step, in milliseconds, from 10 to 1000000000. The default is 10 ms. For example, to set the load step to 100 ms, enter:

(config)# load step 100

To set the load step to the default of 10 ms, enter:

(config)# no load step

Configuring the Global Load Threshold

The CSS uses the global load number to determine whether a service is eligible to receive flows. Use the load threshold command to define the global load number. If the service load exceeds the threshold, the service becomes ineligible to receive flows until the CSS ages the service into the eligible state. This command applies to both relative load and absolute load.

Enter the threshold as a number from 2 to 254. The default is 254, which is the maximum threshold services can reach before becoming unavailable. To view the global load on services, use the show load command (see Table 6-2 for details).

For example, to set the load threshold to 25, enter:

(config)# load threshold 25

Note If you do not configure a load threshold for the content rule with the (config-owner-content) load-threshold command, the rule inherits the global load threshold.


To set the load threshold to the default of 254, enter:

(config)# no load threshold

Note If you configure the absolute load calculation method on a CSS and a service exceeds its configured global load threshold, the CSS does not include the load of that service in any content rule load that the CSS advertises.


Configuring the Load Teardown Timer

A teardown report is a summary of response times for services when flows are being torn down. The CSS uses the teardown report to derive the load number for a service. This command applies to both relative load and absolute load.

When the CSS has sufficient teardown activity for a service, it generates a teardown report and the teardown timer is reset. If a teardown report is not triggered at the end of the teardown timer interval due to insufficient activity, the CSS generates a teardown report based on its current activity. If there is no activity, no report is generated and the timer resets.

Use the load teardown-timer command to set the maximum time between teardown reports. The teardown timer is the number of seconds between teardown reports. Enter an integer from 0 to 1000000000. The default is 20. The value of 0 disables the timer.


Note The teardown timer is overridden when a service is reset. After 10 teardown reports are recorded, the timer is reset to its configured value.


For example, to set the teardown timer to 120 seconds, enter:

(config)# load teardown-timer 120

To reset the teardown time interval to its default of 20 seconds, enter:

(config)# no load teardown-timer

Configuring the Load Ageout Timer

By default, the CSS times out stale load information for a service at time interval of 60 seconds. When the ageout timer interval expires, the CSS erases the information and resets the service load to 2. Load information is stale when the teardown report number recorded on a service has not incremented during the ageout time interval because no flows (long or short) are being torn down on the service. This command applies to both relative load and absolute load.

At the beginning of the time interval, the ageout timer saves the number of the current teardown report. When the CSS generates a new teardown report, the report number in the CSS increments and any services in the report will save this number. At the end of the ageout time interval, the CSS compares the initial teardown number, saved at the beginning of the time interval, with the current teardown number saved by each service. If the number of a service is less than or equal to the timer number, the load information is stale. The CSS erases it and the service load is reset to 2.

Use the load ageout-timer command to set the time interval, in seconds, in which the CSS times out stale load information for a service. Enter the ageout timer as the number of seconds to time out load information for a service. Enter an integer from 0 to 1000000000. The default is 60. A value of 0 disables the timer.

For example, enter:

(config)# load ageout-timer 180

To set the ageout time to the default of 60, enter:

(config)# no load ageout-timer

Showing Global Service Loads

Use the show load command to display the global load configuration and service load information. For example, enter:

(config)# show load

Table 6-2 describes the fields in the show load command output.

Table 6-2 Field Descriptions for the show load Command Output 

Field
Description

Global load information

The configured state of load reporting (enabled or disabled). Reporting is disabled by default.

Step Size

The configured method in which the load step size is calculated:

Dynamic indicates that the CSS calculates the step size.

Static indicates that the configured step size is used.

Configured

The configured load step. The value is the difference, in milliseconds, between load numbers. If the step size method is dynamic, this is the initial load step. The CSS modifies the value after it collects sufficient response time information from the services.

Actual

The actual load step. The value is the difference, in milliseconds, between load numbers. If the step size method is configured, the actual value will be the same as that in the Configured field.

Threshold

The configured global load number that the CSS uses to determine whether a service is eligible to receive flows. The range is from 2 to 254. The default is 254.

Ageout-Timer

The configured time interval, in seconds, in which stale load information for a service is timed out. When the ageout timer interval expires, the CSS erases the information and resets the service load to 2. The range is an integer from 0 to 1000000000. The default is 60. A value of 0 disables the timer.

Teardown-timer

The maximum time between teardown reports. The range is from 0 to 1000000000. The default is 20. A value of 0 disables the timer.

Configured

The configured maximum time between teardown reports. The range is from 0 to 1000000000. The default is 20. A value of 0 disables the timer.

Actual

The actual time between teardown reports.

Service Name

The name of the service.

Average Load Number

The average load number for the service.


Configuring the Absolute Load Calculation Method

Configure the absolute load calculation method on a CSS to enhance the way the CSS determines service load, either locally, or in a global server load balancing (GSLB) environment. This method is an alternative to the relative load-calculation algorithm and calculates the load on a service without normalizing load values against the fastest services on the CSS. Consider using absolute load instead of relative load when you have a single CSS serving multiple applications, or when you are using GSLB to balance between multiple CSSs.

The section contains the following subsections:

Overview of Calculating Absolute Load

Configuration Requirements and Restrictions

Configuring Load Calculation

Using the load absolute-sensitivity Command

Configuring Load Variance

Displaying Relative Load Statistics

Displaying Absolute Load Calculation Ranges

Overview of Calculating Absolute Load

Calculating absolute load numbers for services may allow the CSS to make more intelligent load-balancing decisions than using relative load numbers. Absolute load only takes into account the actual observed load on a service, whereas relative load compares services to the service with the fastest response time.

Absolute load also allows you to configure the response times that correlate with values within the CSS load number scale. Unlike the relative load number scale, where all the load numbers between 2 and 254 represent equal steps or increases in response times, absolute load creates 16 different divisions or ranges within the CSS load number scale. Ranges are groups of consecutive load numbers that share a common step size (delta) between numbers.


Note Regardless of which load calculation method you choose, be sure that all CSSs in a GSLB environment have very similar configurations.


This feature provides a default set of 16 ranges with a configurable sensitivity option that you can use to modify the upper boundary of the load number scale while adjusting the step sizes (granularity) within the ranges. In general, the better the granularity between load numbers, the better load balancing a CSS performs. However, if the granularity is too fine, the slower servers will be excluded from the load number scale and load numbers will be meaningless for these load-balancing decisions. Keeping the ranges within the load number scale allows some fine granularity for faster servers and coarser granularity for slower servers, while accommodating both short-lived and long-lived flows.

A CSS calculates the average response time for a service based on the measured lifetime of flows to that service. The CSS filters the response values for deviation and damps them to avoid sudden changes. The average response time is then mapped to the absolute load ranges.

For example, suppose a site has two groups of services serving two different types of applications. Group A supports application A, which involves mainly short-lived, quick connections; Group B supports application B, which is much more server-intensive and takes longer to complete. Further, it should never take more than 200 ms for a service handling application A to respond, but it could take up to 200,000 ms for services handling application B to respond. Rather than grouping these services together and using a response time much too large for application A, absolute load allows the CSS to use ranges within the load number scale to better handle load monitoring and balancing for each application.

Configuration Requirements and Restrictions

Observe the following configuration requirements and restrictions when you configure your services.

You must configure the load reporting command to enable the CSS to derive loads on services. See the "Configuring Global Load Reporting" section.

If you are using absolute load calculations in a GSLB configuration, the values of load absolute sensitivity should be the same for all participating sites.

If you decide to change an existing configuration to use absolute load instead of relative load, it is possible that the CSS load-balancing behavior will change. The CSS may report some service load numbers differently; any configured load thresholds may affect these load numbers.

If you plan to combine absolute load calculation with the GSLB least-loaded algorithm, we recommend that you set the load variance to 0. This ensures that the CSS always uses load numbers to determine the least-loaded site.

Absolute Load Configuration Quick Start

Table 6-3 provides a quick overview of the basic steps required to configure absolute load. Each step includes the CLI command required to complete the task. For a complete description of each feature and all the options associated with the CLI commands, see the sections following Table 6-3.

Table 6-3 Absolute Load Configuration Quick Start 

Task and Command Example

1. Enter config mode by typing config.

# config
(config)#

2. Specify the absolute load method, which the CSS uses to assign load numbers to all configured services. See the "Configuring Load Calculation" section.

(config)# load calculation absolute

3. Configure the load variance using one of the following commands, depending on your DNS load-balancing configuration. We recommend that you configure a load variance value of 0 when you use the absolute load calculation method.

dns-peer load-variance - Sets the difference in peer load numbers that a CSS considers to be similar for the least loaded algorithm in a rule-based DNS load-balancing decision. For more information on the dns-peer command, refer to the Cisco Content Services Switch Global Server Load-Balancing Configuration Guide.

dns-server zone load variance - Sets the deterministic difference in peer load numbers that a CSS considers to be similar for the least loaded algorithm in a zone-based DNS load-balancing decision. For more information on the dns-server zone command, refer to the Cisco Content Services Switch Global Server Load-Balancing Configuration Guide.

(config)# dns-peer load variance 0
(config)# dns-server zone load variance 0

4. (Recommended) Use the show load command to display the load calculation information for each service configured on your CSS.

(config)# show load

5. (Recommended) Use the show load absolute command to display absolute load number ranges.

(config)# show load absolute

The following running-configuration example shows the results of entering the commands in Table 6-3.

!*************************** GLOBAL ***************************
   dns-server zone load variance 0 

   load calculation absolute 

Configuring Load Calculation

By default, the CSS uses the relative load calculation method to assign load numbers to all configured services. This method assigns load numbers to services based on a comparison with the fastest local service. Use the load calculation command to specify the calculation method that the CSS uses to assign load numbers to all configured services. The syntax for this global configuration mode command is:

load calculation relative|absolute

The options are:

relative (default) - Specifies that the CSS assigns load numbers to services based on a comparison with the fastest local service. For details about relative load, see the "Relative Load Overview" section.

absolute - Specifies that the CSS assigns load numbers to services based strictly on pure response times.

For example, to configure the absolute load calculation method, enter:

(config)# load calculation absolute

To return the load calculation method to the default of relative, enter:

(config)# no load calculation

Note In a GSLB environment with the absolute load calculation method configured, if a service exceeds its maximum connections limit, exceeds the local load threshold, or has a configured weight of 0 (to gracefully shut down), a CSS does not consider the load for that service in the calculation of reported load average for one or more content rules. This behavior results in more accurate load average reporting for APP, kal-ap, and kal-ap-vip. For information about services, see Chapter 3, Configuring Services. For details about APP, kal-ap, and kal-ap-vip, refer to the Cisco Content Services Switch Global Server Load-Balancing Configuration Guide.


Using the load absolute-sensitivity Command

By default, the absolute load calculation method uses an internal load number scale designed to support a wide range of configurations and applications. However, you can adjust the absolute load number scale to suit your configuration.

Configuring load absolute-sensitivity

Increasing the CSS load absolute-sensitivity value increases the upper boundary of the maximum response time and the step size (granularity) of the absolute load number scale, thereby reducing the load value for a given service response time. Conversely, decreasing the load absolute-sensitivity value decreases upper boundary of the maximum response time and the step size (granularity) of the absolute load number scale, thereby increasing the load value for a given service response time.

Use the load absolute-sensitivity command to modify the absolute load number scale. The syntax for this global configuration mode command is:

load absolute-sensitivity number

The number variable specifies the sensitivity of the absolute load number scale. Enter an integer from 1 to 25. The default is 21.

For example, to configure a load sensitivity of 18, enter:

(config)# load absolute-sensitivity 18

To return the load absolute-sensitivity to the default value of 21, enter:

(config)# no load absolute-sensitivity

For number values from 1 to 20, the absolute load number ranges are linear, which means that the step sizes are equal among all the ranges. For values from 21 to 25, the ranges are nonlinear, which means different ranges have different step sizes that increase as the range number increases. For details, see the "Displaying Absolute Load Calculation Ranges" section later in this chapter.

Optimizing the Absolute Load Number Scale

As an experienced user, you can optimize the absolute load number scale to more closely resemble the actual load numbers and maximum response times of your configured services. Before you attempt to modify the absolute load number scale, read this procedure in its entirety to familiarize yourself with the steps. To optimize the absolute load number scale:

1. Use the show load command to gather information about the load numbers and response times of your configured services. Capture and print out or write down the statistics from the show load command output. See the "Displaying Relative Load Statistics" section later in this chapter.

2. Use the data you gathered in Step 1 to determine if you have services whose peak average response times correspond approximately with the maximum response time associated with a load of 254, as displayed with the show load absolute command. See the "Displaying Absolute Load Calculation Ranges" section later in this chapter.

3. Expand the absolute response time range if you do have such services and the high load values are unexpected. Do this by gradually increasing the load absolute-sensitivity value in increments of one, thereby reducing the load number for those services. You may find it desirable to repeat this step until the target service load values reach the middle of the absolute load number scale.

4. Condense the absolute response time range if your peak average service response times tend to cluster around lower load number range. Do this by gradually decreasing the load absolute-sensitivity value in decrements of two, thereby increasing the load number for those services.

5. Monitor the results of each change you make to the load absolute-sensitivity value by observing the show load absolute command output. See the "Displaying Absolute Load Calculation Ranges" section later in this chapter.

6. Repeat Steps 3, 4, and 5 until you are satisfied with the load number and response time results for each configured service.

7. Be sure to allow sufficient load number differentiation among all your services for best load-balancing result. Check to ensure that all services are represented on the absolute load number scale and that services are not clustered around a particular load number range.

8. Test the new configuration by running traffic through the CSS and checking the load-balancing results with the show rule owner_name content_rule_name services and show service commands. If necessary, repeat this entire procedure.

Configuring Load Variance

Load variance is a configured value that represents a range of load numbers among sites or zones that the CSS considers to be similar for the least-loaded algorithm in a DNS load-balancing decision. For example, if you configure a load variance of 50, and the load difference among three sites is 50 or less, the CSS calculates the minimum response time for each site, then selects the site with the fastest service, ignoring the similar load values.


Note For GSLB, we recommend that you set the same load variance value on all CSSs in a peer mesh. If you configure the absolute load calculation method, we recommend that you configure a load variance of 0. See the "Configuring Load Calculation" section.


To set the deterministic difference in peer load numbers that a CSS considers to be similar for the least-loaded algorithm in a zone-based DNS load-balancing decision, use the dns-server zone load variance command. For the number variable, enter an integer from 0 to 254. The default is 50. Use the no dns-server zone load variance command to restore the load variance to the default of 50. For more information on the dns-server zone command, refer to the Cisco Content Services Switch Global Server Load-Balancing Configuration Guide.

Displaying Relative Load Statistics

Use the show load command to display the load calculation information for each service configured on your CSS.

Table 6-4 describes the service-specific fields in the show load command output.

Table 6-4 Service-Specific Field Descriptions for the show load Command Output 

Field
Description

Service Name

Name of the configured service

Average Load Number

Accumulated average load number for the service identified in the Service Name field. Values range from 2 to 255 and indicate a position on the load number scale. A load of 255 indicates that the service is unavailable.

Average Response Time

Accumulated average response time, in milliseconds, for the service identified in the Service Name field. The displayed value indicates the response time measured from flow setup to flow teardown.

Peak Average Response Time

Highest Average Response Time, in milliseconds, reported for each configured service.


Use the Average Response Time and the Peak Average Response Time values when you configure services and their associated load and when monitoring configured services. These two fields appear in the show load command output regardless of the configured load calculation method.

After monitoring traffic, use the show load command to determine whether the absolute-sensitivity value needs to be modified for your configuration. Observe the peak response times of all the servers and determine the worst performing service. By comparing the worst server response time to the associated response time of the load number 254, you can determine whether the load number scale needs to be expanded.


Note You can reset the current values of Average Response Time and Peak Average Response Time by toggling load reporting using the no load reporting and the load reporting commands. Be sure that load reporting is enabled when you are finished. The CSS requires that the load reporting command be enabled to calculate loads for services.


Displaying Absolute Load Calculation Ranges

Use the show load absolute command to display absolute load number ranges. This command displays all load numbers and their associated maximum response times based upon the currently configured value for load absolute-sensitivity (see the "Configuring load absolute-sensitivity" section). The show load absolute command also displays the ranges and their calculated step sizes for load numbers within a range.

Table 6-5 displays the show load absolute command output based on the load absolute-sensitivity default value of 21.

Table 6-5 Output for the show load absolute Command (load absolute-sensitivity = 21) 


Range Number


Load Numbers


Step Size (ms)
Maximum Response Time (ms)
Maximum Response Time (h:m:s)

1

2-15

2

32

0: 0: 0

2

16-31

4

96

0: 0: 0

3

32-47

8

224

0: 0: 0

4

48-63

16

480

0: 0: 0

5

64-79

32

992

0: 0: 0

6

80-95

64

2016

0: 0: 2

7

96-111

128

4064

0: 0: 4

8

112-127

256

8160

0: 0: 8

9

128-143

512

16,352

0: 0:16

10

144-159

1024

32,736

0: 0:32

11

160-175

2048

65,504

0: 1: 5

12

176-191

4096

131,040

0: 2:11

13

192-207

8192

262,112

0: 4:22

14

208-223

16,384

524,256

0: 8:44

15

224-239

32,768

1,048,544

0:17:28

16

240-254

65,536

2,031,584

0:33:51


Table 6-6 describes the fields in the show load absolute command output.

Table 6-6 Field Descriptions for the show load absolute Command Output 

Field
Description

Range Number

Numbers from 1 to 16 representing the Load Number ranges

Load Numbers

Numbers from 2 to 254 of the CSS load scale segmented into 16 ranges

StepSize

Difference between response times for load numbers within a range

Maximum Response Time

Maximum response time, measured from flow setup to flow teardown, permitted in a range


The load number scale starts at 2 and ends at 255, where the value of 255 means a service is unavailable. Within the load number scale, there are 16 equal-sized ranges. The response time boundaries of each range are based on deriving a step size and the number of steps within a range. The stepsizes differ among ranges, with stepsizes getting larger as load numbers increase. This scheme provides finer granularity to faster services where it is needed and provides coarser granularity to slower services.

Table 6-7 displays the show load absolute command output based on a load absolute-sensitivity value of 22. Notice that both the Step Size and the Maximum Response Time values have increased for each range.

Table 6-7 Output for the show load absolute Command (load absolute-sensitivity = 22) 


Range Number


Load Numbers


Step Size (ms)
Maximum Response Time (ms)
Maximum Response Time (h:m:s)

1

2-15

4

60

0: 0: 0

2

16-31

8

188

0: 0: 0

3

32-47

16

444

0: 0: 0

4

48-63

32

956

0: 0: 0

5

64-79

64

1980

0: 0: 1

6

80-95

128

4028

0: 0: 4

7

96-111

256

8124

0: 0: 8

8

112-127

512

16,316

0: 0:16

9

128-143

1024

32,700

0: 0:32

10

144-159

2048

65,468

0: 1: 5

11

160-175

4096

131,004

0: 2:11

12

176-191

8192

262,076

0: 4:22

13

192-207

16,384

524,220

0: 8:44

14

208-223

32,768

1,048,508

0:17:28

15

224-239

65,536

2,097,084

0:34:57

16

240-254

131,072

4,063,164

1: 7:43


Table 6-8 displays the show load absolute command output based on a load absolute-sensitivity value of 1. This value represents the smallest (finest) granularity allowed between service response times and the load numbers that represent them. Notice that the step size remains constant (linear) for all ranges.

Table 6-8 Output for the show load absolute Command (load absolute-sensitivity = 1) 


Range Number


Load Numbers


Step Size (ms)
Maximum Response Time (ms)
Maximum Response Time (h:m:s)

1

2-15

1

16

0: 0: 0

2

16-31

1

32

0: 0: 0

3

32-47

1

48

0: 0: 0

4

48-63

1

64

0: 0: 0

5

64-79

1

80

0: 0: 0

6

80-95

1

96

0: 0: 0

7

96-111

1

112

0: 0: 0

8

112-127

1

128

0: 0: 0

9

128-143

1

144

0: 0: 0

10

144-159

1

160

0: 0: 0

11

160-175

1

176

0: 0: 0

12

176-191

1

192

0: 0: 0

13

192-207

1

208

0: 0: 0

14

208-223

1

224

0: 0: 0

15

224-239

1

240

0: 0: 0

16

240-254

1

255

0: 0: 0


Table 6-9 displays the show load absolute command output based on a load absolute-sensitivity value of 2. The step size remains constant for all ranges, but its value has increased. The maximum response time associated with each range has also increased.

Table 6-9 Output for the show load absolute Command (load absolute-sensitivity = 2) 


Range Number


Load Numbers


Step Size (ms)
Maximum Response Time (ms)
Maximum Response Time (h:m:s)

1

2-15

2

30

0: 0: 0

2

16-31

2

62

0: 0: 0

3

32-47

2

94

0: 0: 0

4

48-63

2

126

0: 0: 0

5

64-79

2

158

0: 0: 0

6

80-95

2

190

0: 0: 0

7

96-111

2

222

0: 0: 0

8

112-127

2

254

0: 0: 0

9

128-143

2

286

0: 0: 0

10

144-159

2

318

0: 0: 0

11

160-175

2

350

0: 0: 0

12

176-191

2

382

0: 0: 0

13

192-207

2

414

0: 0: 0

14

208-223

2

446

0: 0: 0

15

224-239

2

478

0: 0: 0

16

240-254

2

508

0: 0: 0


Using ArrowPoint Content Awareness Based on Server Load and Weight

The ArrowPoint Content Awareness (ACA) load-balancing algorithm balances traffic between a group of servers. You can configure the CSS to make ACA load-balancing decisions based on:

Server load

Server weight and load

Using ACA Based on Server Load

ACA determines the best service for each content request based on server load and size of the content being requested. ACA estimates the file size based on previous requests for the same content. A service with a lower load receives more flows than a service with a higher load.

Using ACA Based on Server Weight and Load

Server weight is a mechanism to express the processing capabilities of a server. Weights allow you to configure the CSS to prefer one group of servers over another. When you configure weights, the number of hits per server is relative to the weight configured on that server. A higher weight will bias flows toward the specified server. For example, in Figure 6-1, ServerA with a weight of two is hit twice as often as ServerB which has a weight of one. ServerC has a weight of 10 and is hit 10 times as often as ServerB. All servers with the same weight are hit equally in a roundrobin manner.

The CSS can use a server's weight in tandem with server load to determine server availability. When you configure ACA on a content rule to use both weight and load, the CSS calculates the number of requests per weight level based on the number of servers with that weight. The CSS then balances the requests among the servers based on their individual loads. The number of requests per weight level is equal to weight level times the number of servers times 10. The CSS then increments the weight level and uses the same mechanism to balance requests among the servers in the next weight level.

For information on configuring weight for a service, see the "Configuring Weight and Graceful Shutdown" section in Chapter 3, Configuring Services. Also see the "Specifying a Service Weight" section in Chapter 10, Configuring Content Rules.

Configuring the Load Command for Use with ACA

To configure a load on a service and bypass the CSS load calculation method (relative or absolute), use the load command in service configuration mode. Use this command with the ACA load-balancing method when you want to take into account server load parameters, for example:

CPU utilization

Free memory

Application threads

Other server tasks

You can set the load command value with your application or server using SNMP or the CSS XML interface. For information about ACA, see the "Using ArrowPoint Content Awareness Based on Server Load and Weight" section. For information about SNMP and the XML interface, refer to the Cisco Content Services Switch Administration Guide.


Caution Before you can use the load command on a service, you must disable load reporting by entering the no load reporting command in global configuration mode. Do not reenable load reporting. If you do, the load value you entered with the load command will no longer apply to the service. To recover, you must disable load reporting again and reenter the load command on the service at the CLI.

The load command has the following syntax:

load number

The number variable is the load value that you assign to a service. A service with a higher load number receives fewer hits than a service with a lower load number. The CSS considers a service with a load of 254 as unavailable, and, therefore, the service receives no hits. Enter an integer from 2 to 254. The default is 2.

For example, to configure a load of 50, enter:

(config-service[server1])# load 50

Use the no form of the command to reset the load value to the default of 2. For example, enter:

(config-service[server1])# no load

To display the configured value for the load command, use the show load command. For details about the show load command, see the "Showing Global Service Loads" section.