PROBLEM
If you are running a large Atmail cluster with multiple machines, you can further optimize the performance of the application by tuning the systems sysctl values for networking. One common issue is on a highly loaded system, the max number of TCP connections can exceed between hosts, or too many connections are in the idle state.
ENVIRONMENT
- On-Premise Server + WebMail Installations: Version 6.0 > Current Version
CAUSE
- Heavy load
RESOLUTION
We recommend the following be applied to the /etc/sysctl.conf
Client machines:
net.ipv4.tcp_fin_timeout = 10 |
Close connections in the TCP FIN timeout state 10 seconds ( default 60 )
net.ipv4.ip_local_port_range = "15000 61000" |
Increase the range of ports available for client connections ( default 32768 61000 )
Server machines (e.g mysql server or main machine)
net.ipv4.tcp_fin_timeout = 10 |
Same value as clients
net.core.somaxconn = 1024 ( default 128 ) |
The net.core.somaxconn value has an important role. It limits the maximum number of requests queued to a listen socket.
net.core.netdev_max_backlog = 2000 ( default 1000 ) |
After editing the /etc/sysctl.conf you can reboot the machine, otherwise set the paramater directly on the CLI using:
/sbin/sysctl net.core.netdev_max_backlog = 2000 |
This is just another tip for tuning the performance of an Atmail system, from the default stock Linux OS.
Comments