Network Optimizations – What to focus on, and what to avoid

I often get asked about network optimizations, and it’s an area of active R&D at Bitsum. I recently gave this answer to a Process Lasso user, so thought I’d share it with everyone.

How do I optimize my network for Gaming?
(or other use cases)

Aside from having a high quality ISP, the best thing you can do is have a recent model wireless router that has good QoS (Quality of Service) functionality. In a sentence, QoS prioritizes network traffic so that important packets are sent first. For example, a QoS rule might be: UDP packets are sent immediately, ahead of all TCP traffic.

As the gateway to the internet (WAN gateway), the router is able to examine and control all traffic going to/from devices on your local network. Any single device on your network doesn’t have this kind of awareness or control of the network activity of other devices on the network, thus it is a less comprehensive and optimal place to enforce QoS rules – not that QoS can’t, or shouldn’t be, used on individual devices as well, it’s just nowhere near as efficacious as having the WAN gateway handle it. Most all the newer routers have a simple ‘Gaming’ QoS profile that will do everything for you.

When choosing from wireless routers, what matters most is the firmware. The hardware is very similar on all of them. Only a few chipset manufacturers exist, so they differentiate based on the quality of their firmware. Bad firmware can make great hardware useless, and some router companies have been notoriously bad at firmware development. I haven’t examined all router brands, but I can say I really like ASUS’s recent firmware, and personally have an ASUS RT-AC3200 bought last year and still going strong.

Of course, you also need good wireless connectivity, else you’re going to suffer greatly from lost packets due to interference or a weak signal. So, make sure you build a strong wireless network by getting suitable devices for your needs, and trying to match vendors on the wireless AP and client side where possible. Also pay attention to wireless channels; seek to avoid overlap with other nearby networks, but usually the ‘auto-select’ setting works well enough. That said, if you have a static wireless environment, then you may be able to select a better channel than auto-select would.

Aftermarket Firmwares

For most people, I do NOT recommend installing third party firmware on wireless routers. Yes, it’s fun. It’s awesome to have more control, but there are some major practical issues. First, some popular aftermarket firmware are really, really buggy. I worked on wireless router firmware for a good year, being the one who ‘re-claimed’ the Linksys WRT54G v5, so have been deep into this field. If you do go this route, OpenWrt is the preferred choice – it is awesome – but it, like all third-party firmware, suffers from a lack of good wireless driver support. This is because the wireless chipset makers have closed source drivers, leaving the F/OSS community to play catch up, or try to limit the kernel version to the specific one for which the binary driver was built. So, do you want the latest wireless drivers? Yes, if you want to take advantage of all the hardware has to offer!

Tip: If you have specialized needs that require use of a third-party firmware, you can buy a low-end router and install OpenWrt on it, then use that router as a WAN gateway (in front of your AP), leaving the job of Wireless Access Point to a newer model router using the vendor’s better performing firmware.

OS TCP/IP Parameter Mods

I do not recommend trying custom TCP/IP parameter tweaks on the OS. Why? Because the defaults are carefully chosen to be as compatible as possible while offering maximum performance (hey, they don’t want it to be slow!).  If you change any parameter, under any theory, you end up with 3 possible outcomes: No effect, detrimental effect, or positive effect. You would have to do some serious, sustained, and repeated testing (since network traffic can be so inconsistent due to external factors) to know which changes even work. If you leave it to ‘feels faster’, you’re likely to see what you want to see (placebo).

In addition, realistically, the best you can hope for with TCP/IP parameter mods is a very marginal gain in performance. Let’s say 1%. So is such a marginal gain, if you do actually find it, worth the risk of screwing with your network stack?

I am often asked about cFosSpeed, and while the above warning applies to it, at least in it’s case the mods are being used by lots of people (like Process Lasso’s CPU mods), so you have a better chance of having a positive impact, and less risk of complications. However, it’s always going to be on the margin, and always carry some risk. If you do any TCP/IP parameter optimization or OS-side QoS, I strongly recommend letting software like cFosSpeed do it for you, but make sure the software is from a company that specializes in network optimization and really cares about their engineering. There is a lot of trash in the optimization market, and plenty of companies who care less about their product’s engineering than it’s marketing. So, don’t pick the first ad that claims they can boost your network speed, be careful who you trust!

Tip: Trust the companies where the software developers are at least somewhat accessible.

Focus on the Big Things

Don’t over-do it. Don’t make haphazard tweaks and just hope they work out. Focus on the big things (like WiFi connection quality, WAN gateway QoS, and the quality of your ISP). Lastly, remember that it only gets so good, and your OS certainly wasn’t intentionally configured by default to perform slower than it could!