Took me good few hours to find out why specific combination of task performs incredibly slowly on my server.
For reference, in my case it’s port-forwarded ssh/https connection over openvpn.
[ Client ] --(Internet)--> [ Gateway ] --(OpenVPN)--> [ Server (SSH) ]
Doing anything which takes up bandwidth (displaying log files, etc) will shoot the cpu load (at interrupt) up by a lot. By a lot I mean over 50% of one core.
This guy have the reasoning why it’s happening but I don’t know how much of it is correct. VMware support page also suggesting disabling it if network performance is slow.
In FreeBSD it’s:
echo 'net.inet.tcp.tso=0' >> /etc/sysctl.conf
In Windows it’s this .reg
file:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] "DisableTaskOffload"=dword:00000001
It seems to involve a shell script in Linux so I won’t bother writing it off here since it differs by system.
As usual, YMMV.
…and there goes my time 🙁