PingAuthorize Server Documentation Index
Configuration Reference Home

Fewest Operations Load Balancing Algorithm

The Fewest Operations Load Balancing Algorithm is a load-balancing algorithm that forwards requests to the backend server with the fewest operations currently in progress. Note that this will only take into account requests coming from this PingAuthorize Server instance and will not consider operations which may be in progress on that server from other clients or PingAuthorize Server instances. It will also take the location and health of the servers into account when making the determination, so servers in remote locations and/or with poorer availability will be deprioritized relative to available servers in the same location as this PingAuthorize Server instance. This load-balancing algorithm should only be used when all backend servers are Directory Proxy Servers

Parent Component
Relations from This Component
Properties
dsconfig Usage

Parent Component

The Fewest Operations Load Balancing Algorithm component inherits from the Location Based Load Balancing Algorithm

Relations from This Component

The following components have a direct aggregation relation from Fewest Operations Load Balancing Algorithms:

Properties

The properties supported by this managed object are as follows:


Basic Properties: Advanced Properties:
↓ description ↓ initial-connections
↓ enabled ↓ max-connections
↓ backend-server ↓ operation-to-retry
↓ ldap-external-server-template ↓ maximum-retryable-local-read-response-time
↓ use-location ↓ maximum-non-retryable-local-read-response-time
↓ prefer-degraded-servers-over-failover ↓ maximum-retryable-local-write-response-time
↓ maximum-allowed-local-response-time ↓ maximum-non-retryable-local-write-response-time
↓ maximum-allowed-nonlocal-response-time ↓ maximum-retryable-nonlocal-read-response-time
↓ maximum-retry-count ↓ maximum-non-retryable-nonlocal-read-response-time
↓ maximum-retryable-nonlocal-write-response-time
↓ maximum-non-retryable-nonlocal-write-response-time
↓ balance-requests-across-servers-with-same-operation-count

Basic Properties

description

Description
A description for this Load Balancing Algorithm
Default Value
None
Allowed Values
A string
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

enabled

Description
Indicates whether this load-balancing algorithm is enabled for use in the server.
Default Value
None
Allowed Values
true
false
Multi-Valued
No
Required
Yes
Admin Action Required
None. Modification requires no further action

backend-server

Description
Specifies the set of backend servers that will be available to process forwarded requests.
Default Value
None
Allowed Values
The DN of any LDAP External Server.
Multi-Valued
Yes
Required
No
Admin Action Required
None. Modification requires no further action

ldap-external-server-template

Description
Indicates that this Fewest Operations Load Balancing Algorithm should automatically discover the appropriate set of servers from the topology registry rather than using an explicitly specified list. The server instances to include must be configured with a "load-balancing-algorithm" property whose value matches the DN of this load-balancing algorithm.
The details needed to connect to the server (including the address, port, and security mechanism), as well as information about its location, will be obtained from the server instance definition in the topology registry. The remainder of the settings for the connection will be obtained from the LDAP external server template specified in this property.
Default Value
None
Allowed Values
The DN of any LDAP External Server Template.
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

use-location

Description
Indicates whether to take server locations into account when selecting servers to receive forwarded requests. If this is true, then the PingAuthorize Server instance and all of the associated LDAP external servers must be configured with a location, and this load-balancing algorithm will attempt to access only available servers in the same location as the PingAuthorize Server. If none are available then it will attempt to use available servers in the first preferred failover location (as defined in the location configuration), and then available servers in the second preferred failover location, etc.
If this is false, then this load-balancing algorithm will consider all configured backend servers equal and will not take their locations into account when deciding how to forward requests.
Default Value
true
Allowed Values
true
false
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

prefer-degraded-servers-over-failover

Description
Indicates whether this load-balancing algorithm should prefer degraded servers in the same location over available servers in an alternate location. This property will be ignored if the value of the use-location property is false.
Default Value
false
Allowed Values
true
false
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

maximum-allowed-local-response-time

Description
The maximum length of time to wait for a response from a backend server in the same location as the PingAuthorize Server before considering it unavailable.
Default Value
30 seconds
Allowed Values
A duration. Lower limit is 1 milliseconds.
Multi-Valued
No
Required
Yes
Admin Action Required
None. Modification requires no further action

maximum-allowed-nonlocal-response-time

Description
The maximum length of time to wait for a response from a backend server in a different location from the PingAuthorize Server before considering it unavailable.
Default Value
30 seconds
Allowed Values
A duration. Lower limit is 1 milliseconds.
Multi-Valued
No
Required
Yes
Admin Action Required
None. Modification requires no further action

maximum-retry-count

Description
The maximum number of times that an operation should be retried against an alternate server in the event that it does not complete within the specified time limit or fails with a result code that indicates it may succeed against an alternate server.
Default Value
1
Allowed Values
An integer value. Lower limit is 0.
Multi-Valued
No
Required
Yes
Admin Action Required
None. Modification requires no further action


Advanced Properties

initial-connections (Advanced Property)

Description
The number of connections to initially establish to each LDAP external server associated with this load-balancing algorithm. A nonzero value will override the initial number of connections defined in the LDAP external server configuration for this load-balancing algorithm. A value of zero indicates that the configuration for each LDAP external server should be used to determine the initial number of connections for the server. Note that this will be ignored for servers configured to use a thread-local connection pool.
Default Value
0
Allowed Values
An integer value. Lower limit is 0.
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

max-connections (Advanced Property)

Description
The maximum number of connections to maintain for each LDAP external server associated with this load-balancing algorithm. A nonzero value will override the maximum number of connections defined in the LDAP external server configuration for this load-balancing algorithm. A value of zero indicates that the configuration for each LDAP external server should be used to determine the maximum number of connections for the server. Note that this will be ignored for servers configured to use a thread-local connection pool.
Default Value
0
Allowed Values
An integer value. Lower limit is 0.
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

operation-to-retry (Advanced Property)

Description
Specifies the types of operations that may be retried on an alternate server upon failing with a result code that indicates it may succeed against an alternate server.
Default Value
add
bind
compare
delete
extended
modify
modify-dn
search
Allowed Values
add - The PingAuthorize Server should retry add operations if they fail with a result that indicates they might succeed on an alternate server.

bind - The PingAuthorize Server should retry bind operations if they fail with a result that indicates they might succeed on an alternate server.

compare - The PingAuthorize Server should retry compare operations if they fail with a result that indicates they might succeed on an alternate server.

delete - The PingAuthorize Server should retry delete operations if they fail with a result that indicates they might succeed on an alternate server.

extended - The PingAuthorize Server should retry extended operations if they fail with a result that indicates they might succeed on an alternate server.

modify - The PingAuthorize Server should retry modify operations if they fail with a result that indicates they might succeed on an alternate server.

modify-dn - The PingAuthorize Server should retry modify DN operations if they fail with a result that indicates they might succeed on an alternate server.

search - The PingAuthorize Server should retry search operations if they fail with a result that indicates they might succeed on an alternate server.
Multi-Valued
Yes
Required
No
Admin Action Required
None. Modification requires no further action

maximum-retryable-local-read-response-time (Advanced Property)

Description
The maximum length of time to allow for the response to a read operation which may be retried on an alternate server if the attempt fails. This property will be used for bind, compare, and search operations against servers in the same location as this PingAuthorize Server instance when retries are allowed for the specified operation type and there are one or more remaining servers that can be tried. If this is not specified, then the value of the maximum-allowed-local-response-time property will be used instead.
Default Value
None
Allowed Values
A duration. Lower limit is 1 milliseconds.
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

maximum-non-retryable-local-read-response-time (Advanced Property)

Description
The maximum length of time to allow for the response to a read operation which may not be retried on an alternate server, either because retries have been disabled or because there are no more servers to be tried. This property will be used for bind, compare, and search operations against servers in the same location as this PingAuthorize Server instance. If this is not specified, then the value of the maximum-allowed-local-response-time property will be used instead.
Default Value
None
Allowed Values
A duration. Lower limit is 1 milliseconds.
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

maximum-retryable-local-write-response-time (Advanced Property)

Description
The maximum length of time to allow for the response to a write operation which may be retried on an alternate server if the attempt fails. This property will be used for add, delete, modify, and modify DN operations against servers in the same location as this PingAuthorize Server instance when retries are allowed for the specified operation type and there are one or more remaining servers that can be tried. If this is not specified, then the value of the maximum-allowed-local-response-time property will be used instead.
Default Value
None
Allowed Values
A duration. Lower limit is 1 milliseconds.
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

maximum-non-retryable-local-write-response-time (Advanced Property)

Description
The maximum length of time to allow for the response to a write operation which may not be retried on an alternate server, either because retries have been disabled or because there are no more servers to be tried. This property will be used for add, delete, modify, and modify DN operations against servers in the same location as this PingAuthorize Server instance. If this is not specified, then the value of the maximum-allowed-local-response-time property will be used instead.
Default Value
None
Allowed Values
A duration. Lower limit is 1 milliseconds.
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

maximum-retryable-nonlocal-read-response-time (Advanced Property)

Description
The maximum length of time to allow for the response to a read operation which may be retried on an alternate server if the attempt fails. This property will be used for bind, compare, and search operations against servers in a different location from this PingAuthorize Server instance when retries are allowed for the specified operation type and there are one or more remaining servers that can be tried. If this is not specified, then the value of the maximum-allowed-nonlocal-response-time property will be used instead.
Default Value
None
Allowed Values
A duration. Lower limit is 1 milliseconds.
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

maximum-non-retryable-nonlocal-read-response-time (Advanced Property)

Description
The maximum length of time to allow for the response to a read operation which may not be retried on an alternate server, either because retries have been disabled or because there are no more servers to be tried. This property will be used for bind, compare, and search operations against servers in a different location from this PingAuthorize Server instance. If this is not specified, then the value of the maximum-allowed-nonlocal-response-time property will be used instead.
Default Value
None
Allowed Values
A duration. Lower limit is 1 milliseconds.
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

maximum-retryable-nonlocal-write-response-time (Advanced Property)

Description
The maximum length of time to allow for the response to a write operation which may be retried on an alternate server if the attempt fails. This property will be used for add, delete, modify, and modify DN operations against servers in a different location from this PingAuthorize Server instance when retries are allowed for the specified operation type and there are one or more remaining servers that can be tried. If this is not specified, then the value of the maximum-allowed-nonlocal-response-time property will be used instead.
Default Value
None
Allowed Values
A duration. Lower limit is 1 milliseconds.
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

maximum-non-retryable-nonlocal-write-response-time (Advanced Property)

Description
The maximum length of time to allow for the response to a write operation which may not be retried on an alternate server, either because retries have been disabled or because there are no more servers to be tried. This property will be used for add, delete, modify, and modify DN operations against servers in a different location from this PingAuthorize Server instance. If this is not specified, then the value of the maximum-allowed-nonlocal-response-time property will be used instead.
Default Value
None
Allowed Values
A duration. Lower limit is 1 milliseconds.
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

balance-requests-across-servers-with-same-operation-count (Advanced Property)

Description
Specifies the behavior that the load-balancing algorithm should exhibit if there are multiple servers with the fewest number of operations in progress. If this property has a value of "false", then the operation will be sent to the first server (in the order listed in the backend-server property) encountered with that number of outstanding operations, which will ensure that operations are consistently routed to the same backend server in such cases. If this property has a value of "true", then any of the servers with that fewest number of outstanding operations may be selected to process the operation.
Default Value
true
Allowed Values
true
false
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action


dsconfig Usage

To list the configured Load Balancing Algorithms:

dsconfig list-load-balancing-algorithms
     [--property {propertyName}] ...

To view the configuration for an existing Load Balancing Algorithm:

dsconfig get-load-balancing-algorithm-prop
     --algorithm-name {name}
     [--tab-delimited]
     [--script-friendly]
     [--property {propertyName}] ...

To update the configuration for an existing Load Balancing Algorithm:

dsconfig set-load-balancing-algorithm-prop
     --algorithm-name {name}
     (--set|--add|--remove) {propertyName}:{propertyValue}
     [(--set|--add|--remove) {propertyName}:{propertyValue}] ...

To create a new Fewest Operations Load Balancing Algorithm:

dsconfig create-load-balancing-algorithm
     --algorithm-name {name}
     --type {type}
     --set enabled:{propertyValue}
     [--set {propertyName}:{propertyValue}] ...

To delete an existing Load Balancing Algorithm:

dsconfig delete-load-balancing-algorithm
     --algorithm-name {name}