Starting in 6.0 the EMS server does not set the send/receive socket buffers on Linux. This allows Linux to auto-tune the socket buffers using the tunable kernel parameters tcp_wmem and tcp_rmem. Alternatively, the socket buffers used by the EMS server can be manually set using the EMS server properties socket_send_buffer_size and socket_receive_buffer_size.
Prior to 6.0 the default socket buffers in the EMS server were set to 32K on Linux.
In EMS 6.x “show buffers” output shows that the buffer sizes are -1 which indicates to the EMS server that the socket buffer sizes should not be set. The buffer size of -1 is primarily used for Linux and indicates that the EMS server should not set the socket buffer sizes. This is the default behavior on Linux.
In EMS 5.x “show buffers” output shows that the socket buffer sizes are set to 32K.
On all other platforms the EMS server will set a default value. For example, the default values set on Windows are 64K for the send buffer size and 72K for the receive buffer size.
On Linux, EMS 6.0
tcp://syao-lnx1:7222> show buffers Message Pool Size: 16384 Socket Blind Read Size: 8KB Socket Receive Buffer Size: -1 Socket Send Buffer Size: -1 Maximum Disk Batch Size: 2MB Maximum Disk Batch Count: 512 tcp://xxxx:7222> Disconnected from tcp://syao-lnx1:7222
On Linux, EMS 5.1.4
> cc tcp://xxxxx:7222 Connected to: tcp://syao-lnx1:7222 tcp://syao-lnx1:7222> show buffers Message Pool Size: 16384 Socket Blind Read Size: 8KB Socket Receive Buffer Size: 32KB Socket Send Buffer Size: 32KB Maximum Disk Batch Size: 2MB Maximum Disk Batch Count: 512