Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Suggestion - Disable Nagle's Algortihim by default #200
Shadowsocks should handle smaller than full MSS packets without much delay.
Interactive applications such as websockets or small UDP packets via shadowsocks suffer impaired performance under default configuration. Additionally it slows down certain TLS processes noticeably.
Steps to Reproduce the Problem
Deploy with defaults and then attempt to use highly interactive applications with small packet sizes via shadowsocks.
Use --no-delay to disable nagle on both server side and router for shadowsocks as nagle is typically of no or negative benefit on modern networks.
I would advise killing nagle in the default configuration as it is troublesome with most modern applications. At work it causes numerous issues for customers and we typically kill it 99% of the time when an ADC is front-ending web-traffic as most of the lower cost ADC's do not intelligently disable it when required. It's most noticeable impact can be seen in TLS and general web-browsing functions that pretty much every user will encounter. This dated, but still very valid publication from NYU explains it as it would impact most end users.
Did you run into any issues with nagle off ? I noticed VPS .60 was out and after upgrade I had to re-patch my systemd file to re-disabled nagle on the server-side.
< OpenMPCTProuter VPS 0.60 >
root@mptcp-server:~# ps aux | grep shadow
Post Patch :
root@mptcp-server:~# ps aux | grep ss-server