diff --git a/Performance.md b/Performance.md index e8914ed..d3d0764 100644 --- a/Performance.md +++ b/Performance.md @@ -54,4 +54,21 @@ To be bold I created 2500 datasets, but that also was no problem. So it seems it If you need more performance let me know. +## TCP tuning + +By default, the linux kernel uses `cubic` as the TCP Congestion Control protocol. This is extremely good for _almost_ all situations, except for moving huge amounts of data over the public internet where you can have brief bursts of congestion (and therefore packet loss). + +Changing this to `scaleable` makes TCP sessions recover much faster from packet loss, and return to the full speed available without the extended recovery of the normal `cubic` protocol. + +If you're sending data over the internet, this setting might help: + +/etc/sysctl.d/60-send-bulk-tcp.conf: +``` +# Recovers rapidly from congestion +net.ipv4.tcp_congestion_control = scalable +``` + +More info: https://en.wikipedia.org/wiki/Scalable_TCP + +(thanks @xrobau)