NUORDS PROXY CONFIGURATION (?)
This document describes advanced properties that you can use to tune the proxy server. Before proceeding with advanced tuning, we strongly recommend that you test at least one of simple configuration examples.
General properties.
General properties should be located in the [proxy] section. This section is singular, you should not add any extensions.
-
The proxy listeners (IPv4|IPv6, TCP).
Property: listeners
Format: Comma|Space-separated list of addresses
Default: 0.0.0.0:3389 [::]:3389See 'NuoRDS Proxy address format' for details. If you are running any target server on the same host, you shoud change the target server port to avoid conflicts.
-
The NuoRDS info protocol availability.
Property: info_enabled
Format: 0|1
Default: 1If none of target servers is NuoRDS, then disable the info protocol by setting '0'.
-
The NuoRDS info protocol port (UDP).
Property: info_port
Format: Integer
Default: 4073If you are running NuoRDS Server on the same host, you should change this info port to avoid conflicts.
-
The info request period in seconds.
Property: info_period
Format: Integer, 10+
Default: 15The info request period is a time after which a usage info should be requested from a server.
-
The status check period in seconds.
Property: status_period
Format: Integer, 60+
Default: 300The status check period is a time after which availability of a server must be re-checked.
-
The routing cache timeout in seconds.
Property: cache_timeout
Format: Integer, 0|10+
Default: 60Set '0' to disable the routing cache.
-
The connection timeout in seconds.
Property: conn_timeout
Format: Integer, 10...900
Default: 30The connection timeout is a time within which the connection to the server must be established.
-
Maximum number of connection faults.
Property: max_faults
Format: Integer, 1+
Default: 2A faulty server will be disabled till the next check.
-
Socket buffering mode.
Property: socket_mode
Format: Integer, see Values
Default: 0
Values:
0 - Use operating system defaults.
1 - Align socket buffers with a peer.
2 - Use 'max_buffer' for socket buffers.See also 'max_buffer' and 'buffer_mode'.
-
Internal buffering mode.
Property: buffer_mode
Format: Integer, see Values
Default: 0
Values:
0 - Use proxy application defaults.
1 - Align internal buffers with a socket.
2 - Use 'max_buffer' for internal buffers.See also 'max_buffer' and 'socket_mode'.
-
Maximum IO buffer size.
Property: max_buffer
Format: Integer, 8760...131072
Default: 131072See also 'socket_mode' and 'buffer_mode'.
A target server.
A target server properties should be located in a [server.NAME] section. Add a new section with a unique NAME extension for each target server.
Example: [server.server01]
-
The server address (IPv4|IPv6, TCP).
Property: address
Format: Network Address.
Default: No DefaultSee 'NuoRDS Proxy address format' for details.
-
The server info port (UDP).
Property: info_port
Format: Integer
Default: 4073The server info port is used only when 'info_enabled' is not zero and 'check_mode' is 2 or 3.
-
The status and info check mode.
Property: check_mode
Format: Integer, see Values
Default: 2
Values:
0 - Never check the server status or info.
1 - Check the server availability only.
2 - Request info and check resources usage.
3 - Request info and synchronize all limits.For advanced modes (2,3), make sure that the 'info_enabled' is not zero.
-
The maximum server weight.
Property: max_weight
Format: Integer, 1...100
Default: 100Higher weight means higher probability of receiving a connection.
-
The maximum number of connections.
Property: max_slots
Format: Integer
Default: 100Set '0' to disable this server.
-
The redundant server flag.
Property: redundant
Format: 0/1
Default: 0A redundant server will not be involved as long as at least one non-redundant server has at least one slot available.
A client group.
A client group properties should be placed in a [client.NAME] section. Add a new section with a unique NAME extension for each client group.
-
The client connection sources (CIDRs)
Property: sources
Format: Comma|Space-separated list of CIDRs
Default: No defaultAdd '0.0.0.0/0' to accept any range of IPv4 addresses. Add '::/0' to accept any range of IPv6 addresses.
-
Maximal number of incoming client connections.
Property: max_slots
Format: Integer
Default: 1000Set '0' to prevent connections from this group.
A [balancer.NAME] section describes a balancing module,
that is distributing client connections among servers.
A balancing unit.
A balancing unit properties should be placed in a [balancer.NAME] section. Add a new section with a unique NAME extension for each balancing unit.
-
List of client groups.
Property: clients
Format: Comma|Space-separated list of client group names (extensions only)
Default: allThe listed client groups will be handled by this balancing unit.
-
List of target servers.
Property: servers
Format: Comma|Space-separated list of server names (extensions only)
Default: allThe listed servers will receive connections from the listed client groups
-
The balancing method.
Property: method
Format: See values
Default: bybusyness
Values:
byrequests - based on resources utilization.
bybusyness - based on resources availability. -
List of the balancing metrics.
Property: metrics
Format: See values
Default: cap
Values:
cap - server capacity
mem - server memory usage
cpu - server CPU usageThe memory and CPU usage metrics require 'check_mode' 2 or 3.