Peter Klotz
2014-01-22 14:28:10 UTC
Hello Duncan
In one of our Linux production environments we ran into the system listen backlog limit. The default listen backlog length in Linux is 128 (see /proc/sys/net/core/somaxconn). When using SSL encryption it is rather simple (approximately 1000 clients are required) to hit this limit. From this point onward clients tend to receive a "Connection Refused" exception from the server.
The attached patch adds a "listenBacklog" parameter in omniORB with default value SOMAXCONN for TCP and SSL connections. So the default is the same as before.
Other popular servers like Apache also feature a similar parameter (e.g. https://httpd.apache.org/docs/2.2/mod/mpm_common.html#listenbacklog).
Should anyone require a higher value then besides the omniORB parameter these two system values also need to be increased:
/proc/sys/net/core/somaxconn
/proc/sys/net/ipv4/tcp_max_syn_backlog
Regards, Peter.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: omniORB-4.1.7-ListenBacklog.patch
Type: application/octet-stream
Size: 4215 bytes
Desc: omniORB-4.1.7-ListenBacklog.patch
URL: <http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20140122/aac01a85/attachment.obj>
In one of our Linux production environments we ran into the system listen backlog limit. The default listen backlog length in Linux is 128 (see /proc/sys/net/core/somaxconn). When using SSL encryption it is rather simple (approximately 1000 clients are required) to hit this limit. From this point onward clients tend to receive a "Connection Refused" exception from the server.
The attached patch adds a "listenBacklog" parameter in omniORB with default value SOMAXCONN for TCP and SSL connections. So the default is the same as before.
Other popular servers like Apache also feature a similar parameter (e.g. https://httpd.apache.org/docs/2.2/mod/mpm_common.html#listenbacklog).
Should anyone require a higher value then besides the omniORB parameter these two system values also need to be increased:
/proc/sys/net/core/somaxconn
/proc/sys/net/ipv4/tcp_max_syn_backlog
Regards, Peter.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: omniORB-4.1.7-ListenBacklog.patch
Type: application/octet-stream
Size: 4215 bytes
Desc: omniORB-4.1.7-ListenBacklog.patch
URL: <http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20140122/aac01a85/attachment.obj>