Context
By default, the ring buffers are set a very low value so sudden spikes of traffic could have caused packets to drop. Increasing the ring buffers size is recommended. You can use “ethtool -S” to check packets dropped and discarded statistics. Any packets lost can potentially increase latencies and timeouts in Aerospike.
Method
To temporarily increase the ring buffers, you will need to quiesce the node first, run the ethtool commands (ethtool -g and ethtool -G) and then perform quiesce-undo/recluster again. The “ethtool -G” may cause interruption to current network traffic, so ensure to quiesce the node to put it in maintenance mode. You can use “ethtool -G” to set the “Pre-set maximums” for the network interfaces. The “Pre-set maximums” can be shown using the “ethool -g” command.
For example:
# ethtool -g eth0
Ring parameters for enp1s0:
Pre-set maximums:
RX: 4096
RX Mini: 0
RX Jumbo: 16320
TX: 255
Current hardware settings:
RX: 255
RX Mini: 0
RX Jumbo: 0
TX: 255
And you can set it to the maximum 4096 for the network interface eth0.
# asinfo -v "quiesce:"
# asinfo -v "recluster:"
# ethtool -G eth0 rx 4096
# asinfo -v "quiesce-undo:"
# asinfo -v "recluster:"
Notes
To permanently modify the ring buffers, you will need to execute a script that run the above ethtool commands during bootup time. Due to differences in Linux Distributions, this is outside of Aerospike Support.