Updated Date: 07/23/2026
About Pools
A pool is a logical set of devices, such as web servers, that you group together to receive and process traffic. Instead of sending client traffic to the destination IP address in the client request, F5 BIG-IP sends the request to any of the nodes that are members of that pool.
A pool consists of pool members. A pool member is a logical object that represents a physical node (server) on the network. After you assign a pool to a virtual server, the BIG-IP system directs traffic coming into the virtual server to a member of that pool. A single pool member can belong to one or more pools, depending on how you want to manage your network traffic.
Note: By design, a pool and its members always reside in the same administrative partition.
You can create three types of pools:
-
Server pools — Contain one or more server nodes that process application traffic. The most common server pool contains web servers. One property of a server pool is a load balancing method, which is an algorithm that determines which pool member receives each connection. The default method is Round Robin, which sends each incoming request to the next available member and distributes requests evenly across the pool.
-
Gateway pools — Contain one or more routers.
-
Clone pools — Send a copy of traffic to a pool of intrusion detection systems (IDSs) or sniffer devices. An intrusion detection system (IDS) is a device that monitors inbound and outbound network traffic and identifies suspicious patterns that might indicate malicious activity or a network attack. You can use the clone pool feature to copy traffic to a dedicated IDS or a sniffer device.
To configure a clone pool, create a pool of IDS or sniffer devices and then assign the pool as a clone pool to a virtual server. The clone pool feature is the recommended method for copying production traffic to IDS systems or sniffer devices.
When you create the clone pool, the service port you assign to each node is irrelevant — you can choose any service port. When you add a clone pool to a virtual server, the system copies only new connections. Existing connections are not copied.
Important: A clone pool receives all of the same traffic that the server pool receives.
You can configure a virtual server to copy client-side traffic, server-side traffic, or both:
- Client-side clone pool — Replicates client-side traffic (before address translation) to the specified clone pool.
- Server-side clone pool — Replicates server-side traffic (after address translation) to the specified clone pool.
You can configure an unlimited number of clone pools on the BIG-IP system.
The BIG-IP Configuration utility shows the status of each pool and pool member using icons with different shapes and colors:
-
Shape indicates the monitor-reported status:
- Circle — the monitor reports the member as
up - Diamond — the monitor reports the member as
down
- Circle — the monitor reports the member as
-
Color indicates the actual node status:
- Green — the node is
up - Red — the node is
down - Black — user action is required
- Green — the node is
The status of a pool is based on the status of its members. Check pool status by viewing the Availability property on the pool’s Properties tab, or by checking the Status column in the pool list.
You can configure the BIG-IP system to perform a number of different operations for a pool. For example, you can:
- Associate health monitors with pools and pool members
- Enable or disable SNAT connections
- Rebind a connection to a different pool member if the originally targeted pool member becomes unavailable
- Specify a load balancing algorithm for a pool
- Set the Quality of Service (QoS) or Type of Service (ToS) level within a packet
- Assign pool members to priority groups within a pool
You use the BIG-IP Configuration utility to create a load balancing pool, or to modify a pool and its members. When you create a pool, the BIG-IP system automatically assigns a group of default settings to that pool and its members. You can retain these default settings or modify them at any time after you create the pool.
Health monitors check whether pool members are up and able to receive traffic. When you assign a monitor to a pool, the BIG-IP system automatically monitors every member — you don’t need to assign the monitor to each member individually. The BIG-IP system includes many preconfigured monitors. You can also create custom monitors.
The following monitor types are designed for nodes only and can’t be assigned to pools or pool members. These monitor types have a destination address that specifies an IP address only, rather than an IP address and a service port:
- ICMP
- TCP Echo
- Real Server
- SNMP DCA
- SNMP DCA Base
- WMI
You can configure monitor assignments in several ways:
- Pool-level monitors — Assign a monitor to an entire pool. The BIG-IP system automatically applies that monitor to all pool members, including those you add later. When you remove a member from a pool, the system stops monitoring that server.
- Member-specific monitors — Override the pool-level monitor for an individual pool member. You can assign a different monitor or exclude the member from monitoring entirely. For example, you can assign the
httpmonitor to pool membersA,B, andD, while you assign thehttpsmonitor to pool memberC. - Multiple monitors — Assign more than one monitor to the same pool. For example, you can assign both the
httpandhttpsmonitors to the same pool. - Process-level monitoring — When a server allows multiple processes to exist on the same IP address and port, you can check the health of each process. Add the server to multiple pools, and within each pool, assign a different monitor to that server. The monitor you assign checks the health of the process running on that server.
The BIG-IP system lets you assign more than one monitor to the same pool member. You can:
-
Assign more than one monitor to a member of a single pool. For example, you can create monitors
http1,http2, andhttp3, where each monitor is configured differently, and assign all three monitors to the same pool member. In this case, the pool member is marked asdownif any of the checks is unsuccessful. -
Assign one IP address and service to be a member of multiple pools. Then, within each pool, you can assign a different monitor to that pool member. For example, suppose you assign pool member
10.10.10.20:80to three separate pools:my_pool1,my_pool2, andmy_pool3. You can then assign all three custom HTTP monitors to that same pool member. The result is that the BIG-IP system uses thehttp1monitor to check the health of pool member10.10.10.20:80inmy_pool1, thehttp2monitor to check the health of pool member10.10.10.20:80inmy_pool2, and thehttp3monitor to check the health of pool member10.10.10.20:80inmy_pool3.
You can make multiple-monitor associations either at the time you add the pool member to each pool, or by later modifying a pool member’s properties.
You can specify a minimum number of health monitors. Before the BIG-IP system can report the pool member as being in an up state, this number of monitors, at a minimum, must report the pool member as available to receive traffic.
When you configure a pool, you can enable or disable SNAT and NAT connections. Both are enabled by default. You can change this setting on an existing pool by displaying the Properties screen for that pool.
You might disable SNAT or NAT when you want to prevent address translation for a specific service. In that case, create a separate pool to handle all connections for that service and disable the SNAT or NAT for that pool.
You can specify the action the BIG-IP system takes when a pool member’s service becomes unavailable:
| Action | Description |
|---|---|
| None | No action is taken. This is the default. |
| Reject | The system sends an RST (TCP only) or ICMP message. |
| Drop | The system silently closes the connection. |
| Reselect | The system selects a different pool member. |
You should configure the system to select a different node in certain cases only, such as:
- When the relevant virtual server is a Performance (Layer 4) virtual server with address translation disabled.
- When the relevant virtual server’s Protocol setting is set to
UDP. - When the pool is a gateway pool (a pool of routers).
Important: When any pool member or node has a non-zero delay timeout, this setting must be set to Reject or Drop. The system rejects the configuration if this requirement is not met.
When you bring a pool member back online after taking it offline, the member can become overloaded with connection requests depending on the load balancing method. For example, if you use the Least Connections method, the system sends all new connections to the newly enabled member because it technically has the fewest connections.
With the slow ramp time feature, you specify the number of seconds the system waits before sending full traffic to the newly enabled member. The amount of traffic is based on the ratio of how long the pool member has been available compared to the slow ramp time, in seconds. After the pool member is online for a time greater than the slow ramp time, it receives a full proportion of the incoming traffic. The default is 10 seconds.
The Type of Service (ToS) level is one means by which network equipment can identify and handle traffic differently based on an identifier.
As traffic enters the site, the BIG-IP system can set the ToS level on a packet using the IP ToS to Server value you define for the pool. The BIG-IP system can apply an iRule and send the traffic to different pools of servers based on that ToS level.
The BIG-IP system can also tag outbound traffic (the return packets based on an HTTP GET) based on the IP ToS to Client value set in the pool. Upstream devices inspect that value and assign appropriate priority.
For example, to configure a pool so that a ToS level is set for a packet sent to that pool, you can set both the IP ToS to Client level and the IP ToS to Server level to 16. In this case, the ToS level is set to 16 when sending packets to the client and when sending packets to the server.
Note: If you change the ToS level on a pool for a client or a server, existing connections continue to use the previous setting.
The Quality of Service (QoS) level is another way for network equipment to identify and handle traffic differently based on an identifier. The QoS level specified in a packet enforces a throughput policy for that packet.
As traffic enters the site, the BIG-IP system can set the QoS level on a packet using the Link QoS to Server value you define for the pool. The BIG-IP system can apply an iRule that sends the traffic to different pools of servers based on that QoS level.
The BIG-IP system can also tag outbound traffic (the return packets based on an HTTP GET) based on the Link QoS to Client value set in the pool. Upstream devices inspect that value and assign appropriate priority.
For example, to configure a pool so that a QoS level is set for a packet sent to that pool, you can set the Link QoS to Client level to 3 and the Link QoS to Server level to 4. In this case, the QoS level is set to 3 when sending packets to the client, and set to 4 when sending packets to the server.
A load balancing method is an algorithm that the BIG-IP system uses to select which pool member receives each connection. Individual load balancing methods take into account one or more dynamic factors, such as current connection count. Because each application of the BIG-IP system is unique, and server performance depends on a number of different factors, experiment with different load balancing methods and select the one that offers the best performance in your particular environment.
The default load balancing method is Round Robin, which passes each new connection to the next server in line, eventually distributing connections evenly across the servers being load balanced. All other load balancing methods take server capacity or status into consideration.
If the equipment that you are load balancing is roughly equal in processing speed and memory, the Round Robin method works well in most configurations.
| Method | Description | When to use |
|---|---|---|
| Round Robin | Passes each new connection to the next server in line, distributing connections evenly across the array of machines being load balanced. | Servers have similar processing speed and memory. This is the default. |
| Ratio (member, node) | Distributes connections among pool members or nodes in a static rotation according to ratio weights that you define. The number of connections that each system receives over time is proportionate to the ratio weight you defined for each pool member or node. You set a ratio weight when you create each pool member or node. | You want static distribution proportional to server capacity. |
| Dynamic Ratio (member, node) | Selects a server based on various aspects of real-time server performance analysis. Similar to the Ratio methods, except the ratio weights are system-generated and not static. These methods are based on continuous monitoring of the servers, and the ratio weights are therefore continually changing. To implement Dynamic Ratio load balancing, you must first install and configure the necessary server software, and then install the appropriate performance monitor. | Load balancing traffic to RealNetworks RealSystem Server platforms, Windows platforms equipped with Windows Management Instrumentation (WMI), or any server equipped with an SNMP agent such as the UC Davis SNMP agent or Windows 2000 Server SNMP agent. |
| Fastest (node, application) | Selects a server based on the fewest number of current sessions. Requires that you assign both a Layer 7 and a TCP type of profile to the virtual server. | Nodes are distributed across separate logical networks. |
| Least Connections (member, node) | Passes a new connection to the pool member or node that has the fewest number of active connections. | Servers have similar capabilities. For servers with different capacities, use Weighted Least Connections instead. |
| Weighted Least Connections (member, node) | Selects pool members or nodes based on the number of active connections and server capacity. The Weighted Least Connections (member) method uses the value you specify in Connection Limit to establish a proportional algorithm for each pool member. The system bases the load balancing decision on that proportion and the number of current connections. For example, member_a has 20 connections and its connection limit is 100, so it is at 20% of capacity. Similarly, member_b has 20 connections and its connection limit is 200, so it is at 10% of capacity. In this case, the system selects member_b. This algorithm requires all pool members to have a non-zero connection limit specified. The Weighted Least Connections (node) method uses the value you specify in the node’s Connection Limit setting and the number of current connections to establish a proportional algorithm. If all servers have equal capacity, these methods behave the same as the Least Connections methods. | Servers have different capacities. |
| Observed (member, node) | Ranks nodes based on the number of Layer 4 connections over time and creates a ratio for load balancing. | Rarely needed. Not recommended for large pools. |
| Predictive (member, node) | Uses the ranking methods used by the Observed methods, where servers are rated according to the number of current connections. However, the Predictive methods also analyze the trend of the ranking over time, determining whether a node’s performance is currently improving or declining. Servers with performance rankings that are currently improving receive a higher proportion of connections. | Rarely needed. Not recommended for large pools. |
| Least Sessions | Selects the server that currently has the fewest number of entries in the persistence table. Requires that the virtual server reference a type of profile that tracks persistence connections, such as the Source Address Affinity or Universal profile type. Not compatible with cookie persistence. | Servers have similar capabilities. |
| Ratio Least Connections | Selects a pool member according to the ratio of the number of connections that each pool member has active. | — |
Note: If the OneConnect feature is enabled, the Least Connections, Weighted Least Connections, and Fastest methods do not include idle connections in their calculations when selecting a pool member or node. These methods use only active connections in their calculations.
Priority-based member activation lets you categorize pool members into priority groups, so that pool members in higher-priority groups accept traffic before pool members in lower-priority groups. This feature has two configuration settings:
Priority group activation
You specify the minimum number of members that must remain available in each priority group in order for traffic to remain confined to that group. The allowed value ranges from 0 to 65535. Setting this value to 0 disables the feature (equivalent to using the default value of Disabled).
Priority group
When you enable priority group activation, you also specify a priority group for each member when you add that member to the pool. Retaining the default priority group value of 0 for a pool member means that the pool member is in the lowest priority group and only receives traffic when all pool members in higher priority groups are unavailable.
If the number of available members assigned to the highest priority group drops below the number that you specify, the BIG-IP system distributes traffic to the next highest priority group, and so on.
For example, this configuration has three priority groups (3, 2, and 1) with the minimum active members set to 2:
pool my_pool {
lb_mode fastest
min active members 2
member 10.12.10.7:80 priority 3
member 10.12.10.8:80 priority 3
member 10.12.10.9:80 priority 3
member 10.12.10.4:80 priority 2
member 10.12.10.5:80 priority 2
member 10.12.10.6:80 priority 2
member 10.12.10.1:80 priority 1
member 10.12.10.2:80 priority 1
member 10.12.10.3:80 priority 1
}Connections are first distributed to all pool members with priority 3 (the highest priority group). If fewer than two priority 3 members are available, traffic is directed to the priority 2 members as well. If both the priority 3 group and the priority 2 group have fewer than two members available, traffic is directed to the priority 1 group. The BIG-IP system continuously monitors the priority groups, and whenever a higher priority group once again has the minimum number of available members, the BIG-IP system limits traffic to that group.
TCP request queuing provides the ability to queue connection requests that exceed the capacity of connections for a pool, pool member, or node, as determined by the connection limit. Instead of dropping excess connection requests, TCP request queuing enables those requests to reside within a queue in accordance with defined conditions until capacity becomes available.
When using session persistence, a request becomes queued when the pool member connection limit is reached. Without session persistence, when all pool members have a specified connection limit, a request becomes queued when the total number of connection limits for all pool members is reached.
Conditions for queuing connection requests include:
- Maximum queue size — The maximum number of connection requests within the queue, which equates to the maximum number of connections within the pool, pool member, or node. The maximum number of connection requests within the queue cannot exceed the cumulative total number of connections for each pool member or node. Any connection requests that exceed the capacity of the request queue are dropped.
- Connection reuse — When a server connection becomes available for reuse, the next available connection request in the queue becomes dequeued, which allows additional connection requests to be queued.
- Expiration rate — As queue entries expire, they are removed from the queue, which allows additional connection requests to be queued.
Connection requests within the queue become dequeued when:
- The connection limit of the pool is increased.
- A pool member’s slow ramp time limit permits a new connection to be made.
- The number of concurrent connections to the virtual server decreases below the connection limit.
- The connection request within the queue expires.
A pool member consists of a server’s IP address and service port number. An example of a pool member is 10.10.10.1:80. Pool members have a number of features that you can configure when you create the pool.
Note: By design, a pool and its members always reside in the same administrative partition.
When using a ratio-based load balancing method for distributing traffic to servers within a pool, you can assign a ratio weight to the corresponding pool members. The ratio weight determines the amount of traffic that the pool member receives. The ratio-based load balancing methods are: Ratio (node, member, and sessions), Dynamic Ratio (node and member), and Ratio Least Connections (node and member).
Using the priority group feature, you can assign a priority number to the pool member. The BIG-IP system then distributes traffic in the pool according to the priority number that you assigned to the pool member.
For example, pool members assigned to group 3, instead of pool members in group 2 or group 1, normally receive all traffic. Members that are assigned a high priority receive all traffic until the load reaches a certain level or some number of members in the group become unavailable. If either of these events occurs, some of the traffic goes to members assigned to the next higher priority group.
This setting is used in tandem with the pool feature known as priority group activation. You use the priority group activation feature to configure the minimum number of members that must be available before the BIG-IP system begins directing traffic to members in a lower priority group.
Connection limits
You can specify the maximum number of concurrent connections allowed for a pool member. The default value of 0 (zero) means that there is no limit to the number of concurrent connections that the pool member can receive.
Connection rate limits
The maximum rate of new connections allowed for the pool member. When you specify a connection rate limit, the system controls the number of allowed new connections per second, providing a manageable increase in connections without compromising availability. The default value of 0 specifies that there is no limit on the number of connections allowed per second. The optimal value to specify for a pool member is between 300 and 5000 connections. The maximum value allowed is 100000.
Explicit monitor associations After you assign a monitor to a pool, the BIG-IP system automatically applies that monitor to every pool member, including those members that you add to the pool later. However, in some cases you might want the monitor for a specific pool member to be different from that assigned to the pool. In this case, you must specify that you want to explicitly assign a specific monitor to the individual pool member. You can also prevent the BIG-IP system from assigning any monitor to that pool member.
The BIG-IP system contains many different monitors that you can assign to a pool member, depending on the type of traffic you want to monitor. You can also create your own custom monitors. The following monitor types are designed for nodes only and can’t be assigned to pool members:
- ICMP
- TCP Echo
- Real Server
- SNMP DCA
- SNMP DCA Base
- WMI
Multiple monitor associations for a pool member The BIG-IP system lets you assign more than one monitor to the same pool member. You can:
-
Assign more than one monitor to a member of a single pool. For example, you can create monitors
http1,http2, andhttp3, where each monitor is configured differently, and assign all three monitors to the same pool member. In this case, the pool member is marked asdownif any of the checks is unsuccessful. -
Assign one IP address and service to be a member of multiple pools. Then, within each pool, you can assign a different monitor to that pool member. For example, suppose you assign pool member
10.10.10.20:80to three separate pools:my_pool1,my_pool2, andmy_pool3. You can then assign all three custom HTTP monitors to that same pool member. The result is that the BIG-IP system uses thehttp1monitor to check the health of pool member10.10.10.20:80inmy_pool1, thehttp2monitor to check the health of pool member10.10.10.20:80inmy_pool2, and thehttp3monitor to check the health of pool member10.10.10.20:80inmy_pool3.
You can make multiple-monitor associations either at the time you add the pool member to each pool, or by later modifying a pool member’s properties.
Availability requirement
You can specify a minimum number of health monitors. Before the BIG-IP system can report the pool member as being in an up state, this number of monitors, at a minimum, must report the pool member as available to receive traffic.
You can enable or disable individual pool members. A pool member is a logical object on the BIG-IP system that represents a specific server node and service. For example, a node with an IP address of 12.10.10.3 can have a corresponding pool member 12.10.10.3:80.
When you disable a pool member, the node continues to process any active connections or any connections for the current persistence session.
- Note the IP addresses or fully qualified domain names (FQDNs) for the servers you want to include in the pool.
- Note the service port numbers for the servers.
- If your system uses DHCP, confirm that your DNS servers are not configured for round-robin DNS resolution. Your DNS servers should return all available IP addresses in a resolution.
-
On the Main tab, select Local Traffic > Pools. The Pool List screen opens.
-
Select Create. The New Pool screen opens. To view all settings, select Advanced from the Configuration list at the top of the form.
-
In the Name field, enter a unique name for the pool.
-
(Optional) In the Description field, enter a description for the pool.
-
For the Health Monitors setting, select a monitor from the Available list and use the move button («) to add it to the Active list. Health monitors check whether pool members are up and able to receive traffic. When you assign a monitor to a pool, the BIG-IP system automatically monitors every member. Note: A pool that contains nodes represented by FQDNs cannot use
inbandorsaspmonitors. The following monitor types are designed for nodes only and can’t be associated with pools or pool members: ICMP, TCP Echo, Real Server, SNMP DCA, SNMP DCA Base, and WMI. -
From the Availability Requirement list, select the minimum number of health monitors that must report a pool member as available before the system marks it as
up. The default is All. -
For the Allow SNAT setting, select whether to allow secure network address translation (SNAT) connections for this pool. The default is Yes. Disable this setting when you want to prevent address translation for a specific service — for example, by creating a dedicated pool for that service with SNAT disabled.
-
For the Allow NAT setting, select whether to allow network address translation (NAT) connections for this pool. The default is Yes.
-
From the Action On Service Down list, select the action the system takes when a pool member’s service becomes unavailable. The default is None.
Action Description None No action is taken. Reject The system sends an RST (TCP only) or ICMP message. Drop The system silently closes the connection. Reselect The system selects a different pool member. Only use this when the virtual server is a Performance (Layer 4) type with address translation disabled, the virtual server’s Protocol is set to UDP, or the pool is a gateway pool. Important: When any pool member or node has a non-zero delay timeout, this setting must be set to Reject or Drop. The system rejects the configuration if this requirement is not met.
-
In the Slow Ramp Time field, enter the number of seconds the system waits before sending full traffic to a newly enabled pool member. The default is 10 seconds. During the ramp period, the system gradually increases traffic based on how long the member has been online compared to this value. This prevents a newly enabled member from being overloaded — for example, when using the Least Connections method, which would otherwise send all new connections to the member with the fewest connections.
-
From the IP ToS to Client list, select the Type of Service (ToS) level the system applies to packets sent to the client. The default is Pass Through. The ToS level lets network equipment identify and prioritize traffic differently. Upstream devices inspect this value and assign priority accordingly.
-
From the IP ToS to Server list, select the ToS level that the system applies to packets sent to the server. The default is Pass Through. You can also apply an iRule to route traffic to different pools based on this value. Note: If you change the ToS level on a pool, existing connections continue to use the previous setting.
-
From the Link QoS to Client list, select the Quality of Service (QoS) level the system applies to packets sent to the client. The default is Pass Through. The QoS level enforces a throughput policy for the packet.
-
From the Link QoS to Server list, select the QoS level the system applies to packets sent to the server. The default is Pass Through.
-
In the Reselect Tries field, enter the number of times the system tries to contact a new pool member after a passive failure — a server-connect failure or a failure to receive a data response within a set interval. The default is 0 (no reselect attempts). Note: This setting is intended for use with TCP profiles. Using it with a Fast L4 profile is not recommended.
-
For the Enable Request Queuing setting, select whether to queue connection requests that exceed the pool’s connection limit. The default is No. When enabled, the system holds excess requests in a queue instead of dropping them until capacity becomes available. With session persistence, a request is queued when the pool member’s connection limit is reached. Without session persistence, a request is queued when the combined limits of all pool members are reached.
-
If you enabled request queuing, configure the following: a. In the Request Queue Depth field, enter the maximum number of requests the queue can hold. The default is 0 (no limit). Requests that exceed the queue capacity are dropped. b. In the Request Queue Timeout field, enter the number of milliseconds a request can remain in the queue before it expires. The default is 0 (no timeout). Expired entries are removed, which frees space for new requests.
-
From the IP Encapsulation list, select an encapsulation profile for outbound packets (from the BIG-IP system to pool members). The default is None.
Profile Description None IP addresses are not encapsulated. This is the default. ipip IP encapsulation within IP (RFC 2003). gre Generic Router Encapsulation (RFC 2784). nvgre Network Virtualization using GRE. Tunnels Layer 2 packets over Layer 3 networks. dslite DS-Lite tunnel for PCP packets. Places each IPv4 packet into the payload of an IPv6 packet. The system then removes the IPv4 packet, uses NAT to translate its addresses, and sends it to the destination. ip4ip4 IPv4 encapsulated within IPv4. ip4ip6 IPv4 encapsulated within IPv6. ip6ip4 IPv6 encapsulated within IPv4. ip6ip6 IPv6 encapsulated within IPv6.
-
From the Load Balancing Method list, select how the system distributes traffic to pool members. The default is Round Robin. A load balancing method is an algorithm that determines which pool member receives each connection. Because each environment is unique, experiment with different methods to find the best fit.
Method Description When to use Round Robin Passes each new connection to the next server in line, distributing connections evenly. Servers have similar processing speed and memory. This is the default. Ratio (member, node) Distributes connections based on static ratio weights you define. Each server receives traffic proportional to its assigned weight. You want static distribution proportional to server capacity. Dynamic Ratio (member, node) Similar to Ratio, but the system generates and continuously adjusts ratio weights based on real-time server performance. You must first install the necessary server software and performance monitor. Load balancing to RealNetworks RealSystem Server, Windows platforms with Windows Management Instrumentation (WMI), or servers with an SNMP agent. Fastest (node, application) Selects the server with the fewest current sessions. Requires both a Layer 7 and TCP profile on the virtual server. Nodes are distributed across separate logical networks. Least Connections (member, node) Sends new connections to the member or node with the fewest active connections. Servers have similar capabilities. For servers with different capacities, use Weighted Least Connections instead. Weighted Least Connections (member, node) Selects members based on both the number of active connections and server capacity. Uses the Connection Limit value to calculate each server’s percentage of capacity. All pool members must have a non-zero connection limit. Servers have different capacities. Observed (member, node) Ranks nodes based on the number of Layer 4 connections over time and creates a ratio for load balancing. Rarely needed. Not recommended for large pools. Predictive (member, node) Uses the same ranking as Observed, but also analyzes performance trends. Servers with improved performance receive more connections. Rarely needed. Not recommended for large pools. Least Sessions Selects the server with the fewest entries in the persistence table. Requires a profile that tracks persistence connections, such as Source Address Affinity or Universal. Not compatible with cookie persistence. Servers have similar capabilities. Ratio Least Connections Selects a pool member based on the ratio of active connections across all members. — Note: If the OneConnect feature is enabled, the Least Connections, Weighted Least Connections, and Fastest methods use only active connections in their calculations and exclude idle connections.
-
From the Priority Group Activation list, select whether to enable priority groups for pool members. The default is Disabled. When enabled, members in higher-priority groups receive traffic before members in lower-priority groups. Specify the minimum number of members that must remain available in each priority group to keep traffic confined to that group (range: 0 to 65535). If the available members in the highest-priority group drop below this minimum, the system directs traffic to the next highest group. If you select a value other than Disabled, assign a priority group number to each pool member when you add it.
-
In the New Members section, add the servers you want the pool to distribute traffic to. Without members, the pool has no servers to send traffic to and can’t process client requests. Each server you add becomes a pool member — a combination of the server’s address and service port. You can identify servers by IP address or by fully qualified domain name (FQDN). When you use FQDNs, the system automatically updates pool members when the corresponding server IP addresses change on your network. Note: Repeat the following steps for each server you want to add to the pool. a. Select New Node to add a server by IP address, or New FQDN Node to add a server by its FQDN. b. (Optional) In the Node Name field, enter a name for the node. c. Enter the server address:
- If you selected New Node, enter the server’s IP address in the Address field.
- If you selected New FQDN Node, enter the server’s FQDN in the FQDN field.
Tip: Even when you use FQDNs, add at least one member by IP address. This makes sure the system can find a pool member if a DNS server is unavailable.
d. For the Service Port option, enter a port number or select a service from the list. e. If you are using FQDNs, keep the Auto Populate setting at its default value of Enabled. Note: When Auto Populate is enabled, the system creates a temporary node for each IP address returned by a DNS query. When a DNS response shows that an IP address no longer exists, the system deletes that temporary node. f. Select Add. The new member appears in the member table. Tip: To modify a member after adding it, select the member in the table and select Edit. To remove a member, select it and select Delete.
-
Select one of the following:
- Finished — Saves the pool and returns to the Pool List.
- Repeat — Saves the pool and reloads the New Pool form so you can create another pool.
- Cancel — Discards your changes and returns to the Pool List.
After you create a pool, you can change its settings from the pool’s Properties tab.
The following read-only fields appear at the top of the Properties tab:
| Field | Description |
|---|---|
| Name | The pool’s name. This can’t be changed after creation. |
| Partition / Path | The administrative partition the pool belongs to. |
| Availability | The current status of the pool (for example, Offline (Enabled)). |
-
On the Main tab, select Local Traffic > Pools. The Pool List screen opens.
-
Select the name of the pool you want to modify. The pool’s Properties tab opens.
-
To view all settings, select Advanced from the Configuration list.
-
Update any of the pool settings. The available fields are the same as those described in Create a server pool.
-
Select Update to save your changes. Tip: To delete the pool, select Delete. This removes the pool and all its member associations.
After you create a pool, you can add members from the pool’s Members tab. This method provides additional configuration options that are not available during pool creation, such as ratio weights, connection limits, and member-specific health monitors.
-
On the Main tab, select Local Traffic > Pools. The Pool List screen opens.
-
Select the name of the pool you want to add a member to. The pool’s properties screen opens.
-
Select the Members tab. The Members tab displays the Load Balancing section and the Current Members table.
-
(Optional) To change the load balancing method or priority group activation setting, update the values in the Load Balancing section and select Update.
-
In the Current Members section, select Add. The New Pool Members screen opens.
-
(Optional) In the Node Name field, enter a name for the node.
-
For the Address setting, select New Address or New FQDN Node, then enter the server’s details:
- If you selected New Address, enter the server’s IP address in the Address field.
- If you selected New FQDN Node, enter the server’s FQDN in the FQDN field.
-
For the Service Port option, enter a port number or select a service from the list.
-
(Optional) In the Description field, enter a description for the pool member.
-
For the State setting, select one of the following:
- Enabled (All traffic allowed) — The pool member receives all traffic. This is the default.
- Disabled (Only persistent or active connections allowed) — The pool member only processes persistent and active connections. New connections are not sent to this member.
To configure advanced settings, select Advanced from the Configuration list.
-
In the Ratio field, enter a ratio weight for the pool member. The weight determines the proportion of traffic the member receives when you use a ratio-based load balancing method (Ratio, Dynamic Ratio, or Ratio Least Connections). The default is 1.
-
In the Priority Group field, enter a priority group number for the pool member. Members in higher-priority groups receive traffic before members in lower-priority groups. The default is 0 (lowest priority). Note: Priority groups take effect only when Priority Group Activation is enabled on the pool’s Members tab.
-
In the Connection Limit field, enter the maximum number of concurrent connections for the pool member. The default is 0 (no limit). This value is also used by the Weighted Least Connections load balancing method to calculate each member’s percentage of capacity.
-
In the Connection Rate Limit field, enter the maximum number of new connections per second for the pool member. The default is 0 (no limit). The recommended range is 300 to 5000, with a maximum of 100000.
-
From the Health Monitors list, select how monitors are assigned to this member:
- Inherit From Pool — The member uses the monitors assigned to the pool. This is the default.
- Member Specific — The member uses monitors you assign specifically to it.
If you selected Member Specific, select a monitor from the Available list and use the move button («) to add it to the Active list. Note: The following monitor types are designed for nodes only and can’t be associated with pool members: ICMP, TCP Echo, Real Server, SNMP DCA, SNMP DCA Base, and WMI.
-
From the Availability Requirement list, select the minimum number of health monitors that must report the member as available before the system marks it as
up. The default is All. -
From the IP Encapsulation list, select an encapsulation profile for the pool member. The default is Inherit From Pool, which uses the pool-level setting.
-
In the Delay Timeout field, enter the number of seconds the system waits before taking action on a pool member after a state change. The default is 0 seconds (no delay — the system acts immediately).
Forced offline connection termination When you force a pool member offline, the delay timeout controls how long existing connections are allowed to drain before the system forcibly terminates them. Force Offline rejects new connections immediately, lets existing connections drain during the delay timeout period, then forcefully terminates remaining active connections after the timeout expires.
State New connections Existing connections After delay timeout Disabled Allows only persistent or active connections Continue Delay Timeout does not forcibly terminate them Forced Offline No new connections allowed Existing active connections can drain Remaining active connections are terminated after the Delay Timeout. The system updates the pool member’s state to down and reflects this status in the Configuration utility, tmsh, and the REST API. Learn moreUse this setting when you need to fully shut down a pool member without waiting for active connections to close on their own. Set the value to the maximum amount of time you want to allow existing connections to complete before the system terminates them.
Note:
- When any pool member or node has a non-zero delay timeout, the pool’s Action On Service Down setting must be set to Reject or Drop. The system rejects the configuration if this requirement is not met.
- If you re-enable a forced-offline member before the delay timeout expires, the timer is cancelled, and existing connections continue normally. If you change the delay timeout value or re-enable and then disable the member again while a timer is active, the timer restarts with the updated configuration.
- If a delay timeout is configured on both the pool member and its underlying node address, the pool member’s value takes precedence. If the pool member’s delay timeout is 0 (not set), the system uses the node address’s delay timeout value.
-
Select one of the following:
- Finished — Saves the pool member and returns to the Members tab.
- Repeat — Saves the pool member and reloads the New Pool Members form so you can add another member.
- Cancel — Discards your changes and returns to the Members tab.
From the pool’s Members tab, you can manage pool members using the Current Members table.
Select the checkbox next to one or more members, then select one of the following:
| Action | Description |
|---|---|
| Enable | Sets the member’s state to Enabled. The member receives all traffic. |
| Disable | Sets the member’s state to Disabled. The member only processes persistent and active connections. New connections are not sent to this member. |
| Force Offline | Forces the member offline. New connections are rejected immediately. If Delay Timeout is configured, existing connections are allowed to drain during the timeout period and are then forcibly terminated. If no Delay Timeout is configured, existing connections are terminated immediately. |
| Remove | Removes the member from the pool. |
The Current Members table displays the following information for each member:
| Column | Description |
|---|---|
| Status | The health status of the member, shown as a color-coded icon. |
| Member | The member’s name. |
| Address | The member’s IP address. |
| Service Port | The port number the member listens on. |
| FQDN | The member’s FQDN, if configured. |
| Ephemeral | Indicates whether the member was automatically created by a DNS query. |
| Ratio | The ratio weight assigned to the member. |
| Priority Group | The priority group the member belongs to. |
| Connection Limit | The maximum concurrent connections for the member. |
| Partition | The administrative partition the member belongs to. |
After you create or modify a pool, verify that it appears in the pool list and that its members are healthy.
-
On the Main tab, select Local Traffic > Pools.
-
Confirm that your pool appears in the list.
-
Select the pool name to open its properties.
-
Check the Availability field. A healthy pool shows a status such as Available (Enabled).
-
Select the Members tab and confirm that all pool members are listed and their status icons show a green circle (
up).