Articles in this section

How to increase network ring buffers to avoid packets lost

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. 


Applies To Earliest Version

Pre 4.9

Applies To Latest Version

Current Version
Was this article helpful?
0 out of 0 found this helpful