During the past week, I have been playing with my Google Nexus S phone (I9020T), I finally took the chance to root it, install a custom ROM and a new kernel to take advantage of the entire hardware. Those who know me well, would know that I wouldn’t just stop there. I’m a tinkerer so I dove in and tweaked Android more, scouring XDA developers and started to tweak different aspects of my phone.
One neat little tweak I found was to increase the TCP buffer size that seems like it doesn’t fragment the TCP packets as much, thus allowing higher download/upload speeds no matter if it’s WiFi or 3G data speeds.
In order to do this, you must have a rooted Android device. I’ve personally only tested this on my Nexus S, but in theory should work on any Android 4.x device. You must first extract the build.prop in the /system folder on your Android device. On your computer, open your favourite file editor and insert these lines at the end of the file:
# Network Tweaks
net.tcp.buffersize.default=4096,87380,256960,4096,16384,256960 net.tcp.buffersize.wifi=4096,87380,256960,4096,16384,256960 net.tcp.buffersize.umts=4096,87380,256960,4096,16384,256960 net.tcp.buffersize.gprs=4096,87380,256960,4096,16384,256960 net.tcp.buffersize.edge=4096,87380,256960,4096,16384,256960
By applying this code, you increase the buffer size for the TCP connections. There doesn’t seem to be settings for UDP, but I’m going to dig into more of this when I have time. Do note, that you must reboot your phone in order to have these changes take effect.
Here’s what it looks like after applying the tweak:
First result is with the code above, second result is without the code above.
Let me know if this helps in the comment section below!