Manual Chapter : 3-DNS Administrator Guide version 4.2: Working with Quality of Service

Applies To:

Show Versions Show Versions

3-DNS Controller versions 1.x - 4.x

  • 4.2 PTF-10, 4.2 PTF-09, 4.2 PTF-08, 4.2 PTF-07, 4.2 PTF-06, 4.2 PTF-05, 4.2 PTF-04, 4.2 PTF-03, 4.2 PTF-02, 4.2 PTF-01, 4.2.0
Manual Chapter


9

Working with Quality of Service



Overview of Quality of Service

The Quality of Service mode is a dynamic load balancing mode that includes a configurable combination of the Round Trip Time (RTT), Completion Rate, Packet Rate, Topology, Hops, VS Capacity, and Kilobytes/Second (KBPS) modes. The Quality of Service mode is based on an equation that takes each of these performance factors into account. When the 3-DNS selects a virtual server, it chooses the server with the best overall score.

The Quality of Service mode has default settings that make it easy to use: simply specify Quality of Service as your preferred load balancing mode. There is no need to configure Quality of Service, but if you want to change the settings, you can customize the equation to put more or less weight on each individual factor. The following topics explain how to use and adjust the various settings.

Understanding QOS coefficients

Table 9.1 lists each Quality of Service (QOS) coefficient, its scale, a likely upper limit for each, and whether a higher or lower value is more efficient.

QOS coefficients: Default values, ranges, and limits

Coefficient

How measured

Default value

Example
upper limit

Higher or lower?

Packet rate

Packets per second

1

700

Lower

Round trip time

Microseconds

50

2,000,000

Lower

Completion rate

Percentage of successfully transferred packets (0-100%)

5

100%

Higher

Topology

Score that defines network proximity by comparing server and LDNS IP addresses (0-232)

0

100

Higher

Hops

Number of intermediate systems transitions (hops)

0

64

Lower

VS capacity

Number of nodes up

0

20

Higher

Kilobytes/second

Kilobytes per second throughput

3

15000

Lower

If you change the default QOS coefficients, keep the following issues in mind.

  • Scale
    The raw metrics for each coefficient are not on the same scale. For example, completion rate is measured in percentages, while the packet rate is measured in packets per second.
  • Normalization
    The 3-DNS normalizes the raw metrics to values in the range of 0 to10. As the QOS value is calculated, a high measurement for completion rate is good, because a high percentage of completed connections are being made, but a high value for packet rate is not desirable because the packet rate load balancing mode attempts to find a virtual server that is not overly taxed at the moment.
  • Emphasis
    You can adjust coefficients to emphasize one normalized metric over another. For example, by changing the coefficients to the values shown in Figure 9.1 , you are putting the most emphasis on completion rate.

Figure 9.1 QOS coefficients emphasizing completion rate

 globals {    
qos_coeff_rtt 50
qos_coeff_completion_rate 100
qos_coeff_packet_rate 1
qos_coeff_topology 0
qos_coeff_hops 0
qos_coeff_vs_capacity 0
qos_coeff_kbps 0
}

In the preceding example, if the completion rates for two virtual servers are close, the virtual server with the best packet rate is chosen. If both completion rates and packet rates are close, the round trip time (RTT) breaks the tie. In this example, the metrics for Topology, Hops, VS Capacity, and Kilobytes/Second modes are not used in determining how to distribute connections.

Customizing the QOS equation

You can customize the QOS equation globally, meaning that the equation applies to all wide IPs that use the Quality of Service mode. You can also customize individual wide IPs, in which case the global QOS equation settings are overwritten.

To modify global QOS coefficients using the Configuration utility

  1. In the navigation pane, click System.
    The System - General screen opens.
  2. On the toolbar, click Load Balancing.
    The System - Load Balancing screen opens.
  3. Define the global QOS coefficients in the Round Trip Time, Completion Rate, Hops, BIG-IP Packet Rate, Topology, VS Capacity, and Kilobytes/Second boxes.
  4. Click Update.

To modify QOS coefficients for a specific wide IP using the Configuration utility

  1. In the navigation pane, click Wide IPs.
  2. In the Wide IP column, click a wide IP name.
    The Modify Wide IP screen opens.
  3. On the toolbar, click Modify Pool.
    The Modify Wide IP Pools screen opens.
  4. In the Pool Name column, click the name of a pool.
    The Modify Load Balancing screen opens.
  5. Define the wide IP's QOS coefficients in the Round Trip Time, Completion Rate, Hops, BIG-IP Packet Rate, Topology, VS Capacity, and Kilobytes/Second boxes.
  6. Click Update.

To assign global QOS coefficients from the command line

  1. At the command prompt, type 3dnsmaint to open the 3-DNS Maintenance menu.
  2. On the 3-DNS Maintenance menu, choose Edit 3-DNS Configuration to open the wideip.conf file.
  3. Locate or add the globals statement. The globals statement should be at the top of the file.
  4. Refer to the example syntax shown in Figure 9.2 to define a global QOS equation.

    Figure 9.2 Sample global QOS equation

     globals {    
    qos_coeff_rtt 50
    qos_coeff_completion_rate 5
    qos_coeff_packet_rate 1
    qos_coeff_topology 0
    qos_coeff_hops 0
    qos_coeff_vs_capacity 0
    qos_coeff_kbps 0
    }

To assign QOS coefficients for a specific wide IP from the command line

  1. At the command prompt, type 3dnsmaint to open the 3-DNS Maintenance menu.
  2. On the 3-DNS Maintenance menu, choose Edit 3-DNS Configuration to open the wideip.conf file.
  3. Locate the wideip statement you want to edit.
  4. Refer to the example syntax shown in Figure 9.3 to define a wide IP's QOS equation.

Figure 9.3 displays a wide IP definition that overrides the global QOS equation settings shown in Figure 9.2 .

Figure 9.3 QOS coefficient settings that override the global QOS settings

 wideip {    
address 192.168.101.50
service "http"
name "www.wip.domain.com"
ttl 60 // increase the domain default ttl
qos_coeff {
rtt 21
hops 0
completion_rate 7
packet_rate 5
topology 1
vs_capacity 0
kbps 0
}
pool {
name "Pool_1"
ratio 2 // applies to pool_lbmode == ratio
preferred qos
alternate ratio
address 192.168.101.50 ratio 2
address 192.168.102.50 ratio 1
address 192.168.103.50 ratio 1
}
pool {
name "Pool_2"
ratio 1
preferred rr
address 192.168.102.60 ratio 2
address 192.168.103.60 ratio 1
}
}

Using the Dynamic Ratio option

When the Dynamic Ratio option is turned on, the 3-DNS treats QOS scores as ratios, and it uses each server in proportion to the ratio determined by the QOS calculation. When the Dynamic Ratio option is turned off (the default), the 3-DNS uses only the server with the highest QOS score for load balancing, (in which case it is a winner takes all situation) until the metrics information is refreshed.

To turn on the Dynamic Ratio option using the Configuration utility

  1. In the navigation pane, click Wide IPs.
  2. In the Wide IP column, click a wide IP name.
    The Modify Wide IP screen opens.
  3. On the toolbar, click Modify Pool.
    The Modify Wide IP Pools screen opens.
  4. In the Pool Name column, click the name of a pool.
    The Modify Load Balancing screen opens.
  5. Check Use Dynamic Ratio.
  6. Click Update.

To turn on the Dynamic Ratio option from the command line

  1. At the command prompt, type 3dnsmaint to open the 3-DNS Maintenance menu.
  2. On the 3-DNS Maintenance menu, select Edit 3-DNS Configuration to open the wideip.conf file.
  3. Locate the wideip statement and the pool definition you want to edit.
  4. Add the syntax (shown in bold in Figure 9.4 ) to the pool definition.

    Figure 9.4 Enabling dynamic ratio in a pool configuration

       pool {    
    name <"pool_name">
    [ ratio <pool_ratio> ]
    dynamic_ratio yes
    [ rr_ldns < yes | no > ]
    [ rr_ldns_limit <number> ]
    [ preferred < completion_rate | ga | hops | kbps | leastconn
    | packet_rate | qos | random | ratio | return_to_dns | rr |

    rtt | static_persist | topology | vs_capacity | null > ]
    [ alternate < ga | kbps | null | random | ratio | return_to_dns
    | rr | static_persist | topology | vs_capacity > ]

    [ fallback < completion_rate | ga | hops | kbps | leastconn |
    packet_rate | qos | random | ratio | return_to_dns | rr | rtt
    | static_persist | topology | vs_capacity | null > ]

    address <vs_addr>[:<port>] [ratio <weight>]
    }
    }