Load Balancing
Overview
Load balancing across multiple application instances is a commonly used technique for optimizing resource utilization, maximizing throughput, reducing latency, and ensuring fault-tolerance configurations.
Load Balancing Algorithms
This field specifies the load balancing algorithm according to the configured website.
-
ROUND ROBIN: This algorithm is a smart approach to distribute client requests across an array of servers. It forwards the client request to each server in turn. Also, assigns a weight to each server as per current load and idle capacity.
-
LEAST CONNECTIONS: This algorithm is a dynamic load balancing algorithm. It forwards client requests to the server, which has the least no. of active connections on the server.
-
LEAST RESPONSE TIME: This algorithm is a dynamic load balancing algorithm. It forwards client requests to the server, which have used least bandwidth for serving the client requests.
-
LEAST BANDWIDTH:This algorithm is a dynamic load balancing algorithm. It forwards client requests to the server, which have a small response time in order to serve requests.
-
IP HASH: This algorithm takes the client's and server's source and destination IP address to generate a unique hash key. This key is used to assign the client to a specific server. In the case of a broken session, the key can be regenerated, and the client can be directed to the same server.
-
PERSISTENT HASH: This algorithm takes the user input location within the current request to generate a user-defined custom unique hash key. This key is used to assign the client to a specific server. In the case of a broken session, the key can be regenerated, and the client can be directed to the same server. NOTE: In hashing-based load balancing, if a specified value does not exist then the request is served on the basis of client's IP address.
-
Least Requests: This algorithm is a dynamic load balancing algorithm. It forwards client requests to the server, which have served the minimum amount of requests.
-
SNMP Metrics: This algorithm is a dynamic load balancing algorithm. It forwards client requests to the server, which have the least CPU / RAM usage. NOTE: For this algorithm to work, the server group should have SNMP monitor attached.
How to Use:
- Go to Stack > SLB > Listeners >** Server Groups** > Select Server Name > Load Balancing
- Configure your settings.
- Click Save Changes.
Description:
Connection Reuse Policy
This option allows users to specify an HTTP connection reuse policy.
Accepted values: Always / Never / Safe / Aggressive
Default: Always
Enable HTTP KeepAlive
This option allows users to specify enabling server connection keep-alive.
Accepted values: Enable / Disable
Default: Enable
HTTP KeepAlive Timeout
This option allows users to specify a keep-alive server connection timeout.
Accepted values: Integer
Default: 2
Tunnel Timeout
This option allows users to set the maximum inactivity time on the client and server-side for Websocket tunnels
Accepted values: Integer
Default: 120
Request Timeout
This option allows users to set the maximum inactivity time on the client and server-side for web-socket tunnels.
Accepted values: Integer
Default: 10
Server Connect Timeout
This option allows users to specify a max time to wait for establishing server connection.
Accepted values: Integer
Default: 4
Idle Connection Timeout
This option allows users to specify idle server connection timeout.
Accepted values: Integer
Default: 30
Resume Connection Timeout
This option allows users to specify the time within which a lost server connection can resume.
Accepted values: Integer
Default: 1
Queue Timeout
This option allows users to specify the maximum time to wait in the queue for a connection slot to be free.
Accepted values: Integer
Default: 5
Connection Pool Size
This option allows users to specify the maximum number of idling connections for a server. Set -1 for unlimited.
Accepted values: Integer
Default: 32
Server Retries
This option allows users to specify the max number of connection retries.
Accepted values: Integer
Default: 1
Client IP Pool
This option allows users to specify list of client IP to use when connecting to upstream. Leave blank for auto.
Accepted values: IP
Default: Blank
Algorithm
This option allows users to specify the Server Group Algorithm.
Accepted values: Round Robin / Least Connection / Least Listener Connection / Least Response Time / Minium Jitter / IP Hash / Persistent Hash / Least Requests / SNMP Metrics
Default: Round Robin
Sticky Session Cookie
Users are allowed to specify enabling sticky session based on specified cookie.
Accepted values: String
Default: 5
Adding Location
- Priority The user can set the priority.
Accepted values: Integer
Default: Blank
- Location
The user can set the location for which load balancing is done.
Accepted values: SRC_IP / DST_IP / SRC_PORT / DST_PORT / URL / ARG_VAL / HEADER_VAL / COOKIE_VAL
Default: SRC_IP
- Value
The users are allowed to specify the location value. This option will only visible when location is selected to value fields.
Accepted values: String
Default: 5