Fix one: DNS issue
Ever since I started using Linux, I’ve run into issues regarding internet performance; it was unstable – it would take it several seconds, sometimes 10-20, to look up the host for most sites. Overall, it was very unstable – and rather unusable for a heavy surfer like me.
Download speed, and basically everything but the browser worked fine. Thus, I concluded that it could have something to do with the DNS – and I was right. I switched to OpenDNS, and it was running normally – here’s [the guide from OpenDNS on configuring OpenDNS on Ubuntu, should you be using another Linux distro., simply Google something like linux-distro opendns.
I also stumbled upon Namebench in the process, which is a little Python application that attempts to find the fastest DNS for you – which you can use to optimize performance further.
Fix two: IPV6
Currently, the standard for IPs is IPV4 – the thing is, that there’s always a limit towards to maximum number of IP-adresses available. We’re nearing this limit rapidly with IPV4, and therefore IPV6 is set to replace the old IPV4. 1 However, some providers doesn’t support IPV6 yet, and Linux might attempt to use IPV6, conclude it fails, and then use IPV4 – each time it connects. This can be result in bad performance. Luckily, you can disable the IPV6 kernel module, which fixes this.
Fixing on Debian-based systems
I don’t know for sure, if this is the routine on anything non-debian based. I know this is not the way to go on e.g. Arch Linux. Debian-based systems include Linux Mint and Ubuntu.
You should be able to disable IPv6 by adding ipv6.disable=1 to kernel boot parameters (editing Grub config in /boot/grub/menu.lstand running sudo update-grub as instructed for example here). 2
Again, use Google and you’ll probably be geared towards a Wiki, or forum thread for your specific distro.