I would like to tweak my system to get better speeds. Is it possible?
Of course this depends on several factors like server load, distance to server, speeds of your ISP, etc.
Should your speeds be lower than expected, there are several things you can try to max out your speed:
1) Switch to another protocol from OpenVPN to PPTP or from L2TP to OpenVPN and vice versa.
2) Switch servers (nearest does not necessarily mean fastest).
3) Try using UDP ports with OpenVPN, it's much faster than PPTP or OpenVPN through TCP.
4) Select the fastest DNS server available to you.
5) Consider the various factors that may affect VPN performance.
6) Tweak your network settings as explained below.
Deactivate Halfopen-Limit (Windows)
First you should deactivate the limit for halfopen connections windows has. This archive (download) includes several tools for that: TCP-Z, Universal TCP/IP Patch, EvID (LvlLord Patch), TCP Patch.
Goal is to set the limit to 255 or deactivate it completely, depending on your operating system.
Network tweaking with TCP-Optimizer (Windows)
TCP-Optimizer is the best freeware tool for optimizing, tweaking and tuning network settings normal users don't have access to or know of.
It replaces all known Net-Tweak-Apps due its complexity. By using the presets (Windows Default, Current, Optimal, Custom) you can easily tweak all settings with one click.
Documentation & Help
TCP tweaks (Mac OS X)
Start up a terminal window and run the following commands:
sudo sysctl -w net.inet.tcp.rfc1323=1
sudo sysctl -w kern.ipc.maxsockbuf=16777216
sudo sysctl -w net.inet.tcp.sendspace=1048576
sudo sysctl -w net.inet.tcp.recvspace=1048576
Apple Broadband Tuner (Mac OS X)
Installing this tool available for download here automatically sets the following settings:
TCP Tweaking (Linux)
Please note that any of the following suggested modifications may improve performance and stability as well as make it worse.
To know if a setting has a positive, negative or any effect at all, it's a good idea to keep doing speedtests before and after each change.
A) Modify TCP settings in sysctl.conf. Changing TCP settings on Linux is done by adding the corresponding lines at the end of the file /etc/sysctl.conf and then running "sysctl -p" to apply the changes.
You should make a backup of the file (e.g. run "cp /etc/sysctl.conf /etc/sysctl.backup")
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_no_metrics_save = 1
To increase TCP throughput, run this (replace eth0 with your network device identifier if different, e.g. wlan0):
ifconfig eth0 txqueuelen 1000
Disable auto-tuning to prevent unwanted behavior:
sysctl -w net.ipv4.route.flush=1
B) Modify TCP congestion control. The sysctl variable net.ipv4.tcp_congestion_control is set to "reno" by default. You can set it to one of the following options:
reno: Traditional TCP used by almost all other OSes. (default)
highspeed: HighSpeed TCP: Sally Floyd's suggested algorithm
htcp: Hamilton TCP
hybla: For satellite links
scalable: Scalable TCP
vegas: TCP Vegas
westwood: optimized for lossy networks
E.g. run this:
sysctl -w net.ipv4.tcp_congestion_control=htcp
C) Disable segmentation offload, decreases performance but increases stability:
ethtool -K eth0 tso off
Unnecessary protocols and services (Windows)
On Windows, you should check the advanced settings of your network adapter in the Windows Network Center. It often contains unnecessary protocols and services that are slowing down your internet connection without being useful in any way.
Disable, or better uninstall services like:
- QoS Packet Scheduler
- Virtualbox / VMware drivers, protocols and services
- Link-Layer Topology
- Bluetooth related
Basically you can uninstall everything except:
- Internet Protocol Version 4 (TCP/IPv4)
This is the only thing that's essential for the internet connection to work. However, should you loose connectivity after changing anything here, you can just reboot your computer and reinstall the removed things again, one by one.
WLAN channel & firewall (any OS)
If you have a WLAN connection, change your routers channel and other WLAN related settings to see if you can get a better signal. Also, consider using a wired network setup instead of WLAN. It's more secure and always faster.
Temporarily disable your firewall to see if this has a significant effect on your connection performance. If it does, check your firewalls settings, remove unnecessary rules or consider using a different firewall software.
Additional recommendations (any OS)
1) Always make sure you have the latest available device drivers for your computer, router firmware, ethernet-adapter and motherboard drivers, BIOS update, etc. If you have a network device from Realtek, click here. Otherwise check the website of your motherboard/network-device manufacturer. Updating your operating system is also a good idea; you should regularly check Windows Update.
2) If you're using Firefox, check out the FasterFox add-on. It really improves surfing performance. You can check FasterFox, FasterFox Extra or FasterFox Lite.
3) For tweaking uTorrent Advanced Settings there are also several tutorials on this. None of them are perfect, you have to try each setting patiently until you're satisfied with the results. Checkout our article for more information.
4) Old routers, or even new router that are provided to you by your internet provider, are often using outdated firmware or are technically badly manufactured. This can make a difference of multiple megabits - consider getting a better router!
Related links and other tips
- For more downloads and tweaks: http://www.speedguide.net/downloads.php
- Registry tweaks: http://www.speedguide.net/articles.php?category=93
- Downloads: http://www.speedguide.net/downloads.php
- Security Scan: http://www.speedguide.net/scan.php
- Tweaks for all operating systems: http://xgu.ru/wiki/TCP_tuning
Related Knowledgebase Articles