This doc is about how these utils intended to be used.
Connect to the server that seems to be overwhelmed with network traffic. Run server-info --rate --subsystem
to see if the server can process given traffic.
- If not - you'll see what is the biggest problem.
- You can see details on device level:
server-info --rate --devices
- Or specify a subsystem:
server-info --rate --net
- Or view details instead of rating
server-info --show --memory
- If you see some device has low-performance - replacing it may be the quickest solution.
If hardware is ok let's see what happening with current workload with command: network-top
- It highlights errors and problems with red or yellow color.
- It provide you information how load is distributed across the CPUs and network cards.
- It shows how devices attached to each other (highlights NUMA-bindings of CPUS and network cards). It can give an idea how to connect them for better cache-hits.
If load is not distributed well or there still exist performance problems - you can tune it.
- Disable floating CPU-frequency, use
maximize-cpu-freq
command. - Distribute interrupts of multi-queue network cards with
rss-ladder <device>
command. - Apply
autorps <device>
for single-queue network cards. - If everything is distributed well but there is still packet loss - increase buffers with
rx-buffers-incrase <device>
- After each applied setting re-check state of network stack with
network-top
- Add all commands you used to tune to an autostart script
/etc/rc.local
for example, otherwise it will work until reboot.