I built a really high-spec (although not cutting edge) PC with a pair of 8-core Xeon processors, 3TB of triple speed SSD storage and 128GB of RAM - in the hope that I wouldn't spend my life waiting for it to finish doing whatever I asked of it...
...and it is wonderful, totally wonderful! EXCEPT for when it comes to accessing the Internet, which these days is a pretty routine activity. It turns out that I can readily write 4,000+ words in a day, if I have all of the necessary information available. I'm quite pleased by this, I thinks it's very productive; but only if I have ready access to the research sources I use - I.e. if the bloody Internet behaves itself for me.
Knowing how important Internet is to us, we arranged for a high-capacity service from Zen - supposedly running at 70Mbits per second (Mbps). Okay, so that's nowhere near the fastest service available (currently from Hyperoptic at 900Mbps) but when you consider that 3Mbps is adequate to stream HD video it really should be more than adequate for just the two of us. We do have lots of devices, but never really use more than 3 simultaneously. However I just kept getting a nagging feeling that something wasn't right.
So I found a website to test our connection speed
On my iPhone I was getting something under 40Mbps. I was okay with that, given that we're sharing the 70Mbps connection between the two of us. Up in the attic on Christine's Apple Desktop we achieved speeds of over 50Mbps, while nothing else was using the Internet connection. Neither of these are quite at the level we're supposed to get so we are talking with the provider about why - but that's a secondary story full of its own frustrations. More significantly, on my Windows PC I was lucky to be getting up to 10Mbps; which made me very unhappy.
Irrespective of whether we were getting the right capacity from our ISP, something was seriously wrong in my Windows 10 configuration. So I had a dig about, and found some stuff that may be interesting to others.
The speed you get out of your Wi-Fi Internet connection is a super complex (one might even say chaotic) concern. There are endless deep and complex things to look at and tweak, it is somewhat akin to following a yellow brick road on a spiral to hell. There are just far too many commercial and technology layers all nibbling away at your megabits.
The bandwidth provided by your ISP on the national infrastructure
The bandwidth you receive at your router from the national infrastructure (thus the ISP's insistence that it's BT's problem)
The Wi-Fi connection from your device to the Internet router
Your device's usage of the Wi-Fi connection (with or without your knowledge)
There's not much you can do about the first two layers other than complain to your ISP, which after a number of weeks or months might result in some improvement. In our case we might squeeze another 40% out of our service if we get the attic connection up from ~50Mbps to the paid for 70Mbps when nothing else is using the connection. The ISP has already agreed there's something amiss here. But to improve the woeful connection on my Windows 10 PC (ORAC-1, I call him) up from 10Mbps I had to look at the latter two concerns - the quality of the connection over Wi-Fi to the Internet router, and the usage of the Internet connection by Windows on ORAC-1. Let's consider these separately:
So you're getting some finite capacity at your home router (which may or may not be the capacity you're paying for) and you're using this over a local (within the home) Wi-Fi connection. This, local Wi-Fi, connection also has a capacity limit. Exactly what that limit is depends on how you connect over the Wi-Fi to the router.
When two devices talk to each other (like your PC and the router do over Wi-Fi) they need to use a common language (or more accurately, an interface protocol). In this case that protocol is the IEEE 802.11 standard. Actually it's more than just a language, because the devices need to agree not just on the semantics of the conversation but also it's delivery method. All will become clear, I hope...
The 802.11 protocol exists in a number of varieties that have developed over time. The different flavours are designated by suffixes, so we have 802.11b (from September 1999) and 802.11ah (from September 2016). Interestingly 802.11b is older in the market place than 802.11a, and the next version was called 802.11g... so these suffixes aren't exactly straightforward.
There are two main concerns between the versions, in so far as we give a damn: The data capacity in mega-bits per second (Mbps); and the connection range. Of course the variations are much greater than this, but really these are the only things that concern us: Is the Wi-Fi connection fast enough to deliver the Internet connection that we're getting at the router, and can we actually reach the router.
Just for interest, here's a comparison of all the variants (so far):
(click or tap any table row to enlarge)
Take these numbers with a pinch of salt. Every article I read tells me something different, plus the actual ranges are madly variable depending on physical obstructions (like walls and floors) between your device and the router. The table does show though, that faster connections have shorter ranges.
Now interestingly (for me) we can see that it isn't until you get to 802.11n that the Wi-Fi protocol has a greater capacity than what we('re supposed to) get at our router. Which means we need to use at least that protocol to utilise all of the provided capacity (otherwise the Wi-Fi is a bottleneck). However, I'm sharing the connection, so actually protocol versions 'a' and 'g' are good enough at my PC. Protocol 802.11b can only deliver 11Mbps, no matter that I('m supposed to) have 70Mbps at the router. And that is actually the connection speed I have been getting... so what's going on here?
ORAC-1's Wi-Fi card is an 802.11ac which (looking at the table) should be plenty good enough, but clearly isn't - it's behaving like an 802.11b, the worst of the bunch. 802.11b transmits on a frequency of 2.4GHz, whereas 802.11a transmits at 5GHz. This is why 'a' has a greater capacity - it's transmitting at a higher frequency. It's also why 'a' has a lower range, high frequencies are more easily absorbed by obstructions (think about how it's always the base notes in music that you sometimes hear through the walls when your neighbours are partying to the wee hours). 802.11n is supposed to use both frequencies to achieve higher capacity and range.
Clearly ORAC-1 is having difficulty hearing the higher notes.
The simplest solution is to buy a Wi-Fi extender so that the 5GHz frequencies can reliably reach ORAC-1 (and in fact I have one on order). It is however, also worth ensuring that Windows tries it hardest to listen to these higher frequencies, that it doesn't just give up trying and falls back to listening to the 2.4GHz frequencies only. That is, we want to tell Windows to keep listening to 5GHz frequencies even though they are intermittent, and we do this by looking into the Windows Device Manager...
Right-click the windows logo so that the advanced options are shown, and select the Device Manager entry:
In Device Manager expand the Network Adapters entry and find the one that represents your Wi-Fi card. I know mine is the TP-Link 802.11ac because I bought and installed it. Hopefully you will be able to identify which is your Wi-Fi card when you look inside Device Manager. Right-click on the appropriate entry and select properties:
In the box that pops-up select the 'Advanced' tab from the list of tabs at the top. Then find the 'Band Preference Property' in the scrollable list at the left. Selecting this will show the value 'None' (probably) in the box on the right. Change this so that the higher frequency band is preferred (which may appear as 'Prefer 802.11a' as on my system, or may say 'Prefer 5GHz band' or some other similar variant):
Then click 'OK'.
Note, there are a whole slew of other things you can tinker/tamper with inside Device Manager. I wouldn't bother with them, this is the gateway to the highway to hell... At this point you basically have the best Wi-Fi connection you can have, and hopefully its enough to support the speed of the Internet connection you're paying for. If not, your best bet is to get closer to the router or else install an extender.
But you might still have slower Internet than you ought to have, even though you've encouraged better delivery by your ISP and your Wi-Fi connection is good. Which means it's time to look at what Windows is up to...
Windows Internet Usage
In the world of Windows your Internet connection belongs more to your machine than it does to you! You think of your connection as being the power behind your browser and your Internet activity - but it is also the channel through which you receive application updates and things like e-mail, and through which you synchronise cloud storage services like Drop-Box, Microsoft One-Drive et al.
Given the rate at which Microsoft have to release security fixes and updates for their shonky, shoddy buggy software, this alone gobbles up a significant chunk of your connection capacity. And by default Windows is exceptionally greedy in this respect.
Microsoft are very belligerent about any attempts people have to exercise control over their own machines. I'm sure they'd love to lecture me on how irresponsible it is to encourage any degradation in their update service, especially as this is how we get 'important security updates'. But really they should make their systems more secure in the first place, AND they should stop fucking my computer up with ill conceived updates. Please.
Okay, so the worst thing is to never update your computer, I agree that would be a bad thing. The second worst thing though is leaving the updates entirely in Windows own hands as then it will (and does) gobble up most of your Internet bandwidth in order to download updates that stop critical things from working. That's what happens. You leave it to it's own devices and all it manages to do is break everything.
Always keep your computer up-to-date but always be in attendance when it's updating so you can roll it back when things inevitably go wrong.
To stop Windows running amok I de-optimize their delivery optimization (don't get me started with the spelling of 'optimisation' on my English UK installation of Windows...):
Open 'Settings' from the start menu.
Select the 'Update & Security' option.
Select 'Advanced Options', because nothing can be easy, huh?
Now select 'Delivery Optimization'
On the next screen you will see a notice that basically says 'if you turn this on your bandwidth may get used sending windows updates to other PCs on the Internet' - nah, I don't think we want to be doing that. So turn that feature off then select (yet another) 'Advanced Options':
Now you can see what Windows idea of optimized delivery looks like; which is basically that it will steal, from behind your back, nearly half your connection speed whenever it wants or needs to. Which is pretty bloody often.
Set the background limit as low as you can (click the 'limit' box and set the slider to 5%). This will certainly mean that updates are always out of date by the time they've downloaded, but most of your connection speed now belongs to you not windows. Get into the habit of downloading updates in the foreground regularly (from settings->update&security->check for updates) instead.
Bear in mind that this just controls how much background activity goes on with regards updating Windows and Microsoft applications. You probably have other applications that look for updates as well. For this reason, for example, I don't allow DropBox to start automatically when the system starts. I only start DropBox when I want it. This might mean waiting for an update when I want to use DropBox, but that's less of an inconvenience than allowing it to chatter on my network behind my back. Similarly I make sure that auto-updates are turned off inside my Adobe Creative Cloud application. It's my machine so I will decide when and if things update, and I'll be the one to tell them if and when they may use my Internet connection.
There are many, many other tweaks to try and eke out more from your Wi-Fi and Internet connection but they get more and more obscure and it gets less and less certain that any of them have any real benefit. Just google 'Windows 10 Wi-Fi slow' and you'll see what I mean. If you're still having trouble I would more recommend, as a last ditch approach, using Windows 'Network Reset' option (Windows Settings->Network & Internet).
Oh, and whilst thinking about how to take control of your own PC, checkout settings->privacy->background apps - all these apps will chatter on your internet connection without your knowledge. I've turned just about everything other than e-mail off, you might want to do that as well...
So to summarise how to resolve Windows slow Wi-Fi issues
Get your ISP to check the speed they are actually delivering.
Make sure you have a good 5GHz signal strength (maybe buy a Wi-Fi extender)
Tweak your Wi-Fi card Device Manager settings to prefer the 5GHz band
Put Windows on a diet by de-optimising its so called delivery optimization
Don't let every application start at start-up as they'll only try and update themselves
Develop a habit of doing updates in the foreground, when you decide they should happen.
Turn off background apps.
...everything else is noise.