When the pandemic first hit, many people realised that fast, reliable home broadband was an essential utility rather than a nice-to-have. With potentially more people in the house sharing the connection all day, streaming video and doing online meetings, contention in the domestic environment became something of an issue, where one user can hog the available bandwidth to the detriment of others.
The same issue occurs en masse at the broadband provider’s network, where their resources are shared between users on the assumption that they won’t see all of them demanding full speed at the same time: a contention ratio of 50:1 is pretty common, meaning if your neighbours are hammering their connection then it may affect you (assuming you’re on the same provider).
By now, we should all be used to the challenge of making your home network better – plugging into a wired network port to avoid poor WiFi signal, making sure other devices don’t do massive downloads during the working day. Check the speed of your network using one of the many tools available – like this one from Microsoft Research; if you search on Bing.com for just speed test then you’ll get a simple speedometer view.
If you’re using Teams or other realtime conferencing tools, it’s arguably more important to look at the latency (or “ping”) and the upload speed, than focussing on the headline download speed; if you have a device uploading lots of data, it might rob your bandwidth and ramp up the latency, which will be the enemy of any kind of synchronous comms. Check your latency over time with an online tool (like TestMy Latency) or download WinMTR to look for spikes in latency.
It’s worth making sure your PC isn’t causing issues itself, by running out of memory or pegging out the CPU and therefore giving a poor experience: the topic of looking for poor home network perf has been covered previously in ToW #533 amongst others.
Microsoft Teams has added some built-in monitoring and data collection capabilities, reported back to a central admin dashboard (Set up Call Quality Dashboard (CQD), and now semi-realtime data is visible in the Teams client itself.
When in a call, go to the … menu and look for Call health. Click on the various “view more… data >” buttons to see further detail, like the size and rate of the video you’re sending to the call you’re currently on. If your colleagues tell you that the quality of your video is poor, take a look in there to see what you’re actually sending.
As an end user, see here to understand how to interpret the various data. Hover over the little info icons to the side of each headline to see a bubble explaining in one-line what this is measuring. It’s quite interesting.
For admin guidance on what bandwidth and latency requirements you should have to perform acceptably, see here.
A long time ago in a different era, a young engineer and his friend founded a company called Winternals, which cooked up some tools to look inside the way Windows operated. The utilities were used to understand the way things really worked and went on to provide technologists a variety of ways to troubleshoot issues and optimize performance.
Early and popular tools, which went on to be published on the sysinternals.com website, included RegMon – which monitors what was happening in the Windows Registry – and FileMon, which kept an eye on the file system. Both of these tools could help a user figure out what an application is doing, maybe to check it’s not misbehaving, or seeking undocumented settings where the app might be looking to see if a particular file or registry key existed. Sysinternals made the tools free, and since Winternals was acquired by Microsoft in 2006, they still are.
Co-founder Mark Russinovich wrote lots of other fun and useful stuff. For giggles, he built the first BSOD screensaver and a means to remotely deploy it on someone else’s PC, making them think it had crashed, probably causing them to turn it off and on again. Or the ZoomIt tool that he used to great effect in his keynote speeches which were always a highlight at events like TechEd or Ignite. Watching thousands of geeks queueing for an hour to make sure they can get a seat near the front almost invites Jobs-ian comparisons. For what can be relatively dry content, Mark has a great way of talking about how the technology really works and manages to be quite interesting: even if half of the concepts fly straight over your head, the rest is generally worth listening to – like a Brian Cox lecture.
After joining Microsoft, Mark continued to build SysInternals tools and replaced RegMon and FileMon, with Process Monitor aka ProcMon. Another big utility, Process Explorer, is a kind of shibboleth amongst Windows techies… if you’re still using TaskMan to look under the hood, then you’re just not hard enough.
Despite moving to becoming the CTO for Azure and being a member of the most Technical Fellows, he still has a hand in with Sysinternals, culminating recently in a celebration of the 25th anniversary of the first set of utilities. The day-long virtual conference gave deep dive sessions into a few of the most popular tools, along with an interesting fireside chat with Mark and an overview of Sysinternals tools for Linux. See the recording here.
Oh, and one more thing. The Sysinternals Suite is now available in the Windows Store – so you can grab the latest versions of all the core tools (70 of them… yes, that’s right, 70, and for how much?) with just a few clicks.
If you’ve ever had problems with your PC’s performance, you may have turned to Task Manager. It’s been in Windows since the NT4.0 days, when developer Dave Plummer came up with a bit of software he was planning to sell, but decided to donate it to his employer instead:
I’m the Microsoft developer that wrote TaskMgr at home in my den in about 1994 and then the NT silverback devs [ie Dave Cutler] let me check it into the main tree even though I was a greenhorn at the time. So that meant I got to bring it into work and polish it up and make it an official part of Windows, where it remains to this day.
He was inspired to apply to Microsoft in 1993 – having read the Hard Drive book (an excellent historical tome, having inspired at least a few great Microsofties to join up), then went on to write various money-saving optimisations for MS-DOS, and ended up in the NT team, leaving the company 10 years later.
Dave also recommends another great history book – Showstopper!
Back to the current era, Task Manager is still a really useful tool when it comes to figuring out issues with your Windows PC. If you think something is wrong (app starts bogging down, feels like the PC is in a bad way), you can quickly start Task Manager with the shortcut CTRL+SHIFT+ESC (easy to hit with one hand…)
In an emergency (if it feels like your laptop it about to blow up, with fan blaring, screen blinking, UI non-responsive etc – maybe joining a Teams call or opening an Excel spreadsheet), it’s usually possible to throw TASKMGR its own special three-fingered-salute, since it isn’t tied to the Windows Shell – you can use even Task Manager to kill or restart the EXPLORER.EXE that sits under the Start menu, task bar etc.
If you can get to Task Manager, you can run a CMD or Powershell prompt, start explorer or msedge etc.
A colleague pleaded recently that he was having a poor experience with Teams, and queried, did he need to upgrade his 150Mbps internet connection?
To check what kind of network performance you’re actually receiving, there are many speed test apps and sites.
If you’re using the new Edge (if not, why not? Don’t use IE – it’s too old; stop using old Edge – it’s obsolete; the new Edge is fast and it’s better than Chrome), and you have Bing as your default search engine, all you need do is enter ? speed test into the address bar and you’ll get a speed test gadget to give you an idea of performance.
If the base speed looks OK, use Task Manager to inspect what’s happening – fire it up in your favoured way (clicky-clicky-menu, right-click the taskbar, CTRL-ALT-DEL > Task Manager, if not CTRL-SHIFT-ESC) and by default you’ll see the near-useless list of what’s running with no other context. Time to show more details…
On the Processes tab, click on the CPU column to sort by what’s using the processor most – its also worth casting an eye on some other resources to make sure they’re not running out of steam; if you see an app consuming a huge amount of memory, it might be leaking, and shutting it down completely could make all the difference.
Task Manager lets you kill processes (“End Task”) too, if the app has hung and won’t close cleanly. In fact, Dave said there should be nothing that Task Manager can’t kill (apart from some critical system processes – TM might have been able to kill them, but will also bluescreen the machine … so some protection has been added to prevent the user from doing something that would be instantly fatal to Windows – though TM is able to kill itself).
Back to the Teams troubleshooting scenario – If you don’t see the PC getting nailed by some process (that isn’t Teams itself), then it’s worth looking at the Performance tab, and leave it running for a short while, paying particular attention to WiFi/Ethernet.
If you see sustained high throughput, then switch back to the Processes tab, sort by Network and you can see what service/app it is that’s hammering the connection. You could fire up Resource Monitor if you want to dig in even further, started from the bottom of the Performance tab. ResMon lets you drill down to see what a single process is doing, what it’s connecting to, how much network traffic is going to and from it, and so on. Useful, if you like that sort of thing.
Finally, your network might perform brilliantly most of the time, but every so often you get a blip that feels like it’s dragging, then it picks up again. This could be spikes in latency, the enemy of anything real-time, like video calls.
Try running the Microsoft Research Speed Test app – the nice thing is that it keeps a history log, so if you ever think your connection is bogging down, try running a realtime test.
The Network delay is actually key here – if you had more than 1Mbps upload and 5Mbps download speed, that should be plenty – but if your network delay is commonly more than ~150ms, it’s going to start causing problems.
If you have a network connection whose latency fluctuates a lot, there are a bunch of things you could do to seek and troubleshoot:
Once upon a time, users had to deal with email quotas that meant they often had to shuffle messages around to stay within their allowed size limit, or else get limited functionality. The Outlook Thread Compressor tool* was written to help reduce the size of a user’s mailbox, and for a while, had thousands of users inside Microsoft. It inspired the Outlook team to write the “Conversation Clean Up” feature, which works in a slightly different way but does similar things.
Nowadays, with 50 or 100GB mailbox quotas being the norm, most Outlook users don’t need to worry about reducing the size of their mailbox other than to keep it from being too hard to use – a tidy mind and all that. But if you have massive mailboxes, the storage and organisation of all your content may put an unnecessary strain on your PC, so it’s worth taking a few steps to check and clean up if you can.
… and marvel at a dialog box that hasn’t changed since the earliest days of Outlook, evidenced by the fact it measures size in KB rather than MB or even GB…
Limits to be aware of
There are some recommended limits that have been given to Exchange/Outlook users over the years – not just about the overall size of the mailbox, but the number of items in certain folders and even the number of folders themselves. See a 2005 post on the Exchange blog here, for example, which advises keeping the item count low on certain folders (< 1,000 items in the Inbox, Calendar and Contacts folder was the recommendation then – also on the Exchange Blog, check out some of the examples in this post for early pioneers of huge mailboxes).
In more recent versions of Outlook, though, there are some guidelines to avoid performance problems:
Now, you’re probably not going to have too many folders with more than 100k items though it might be worth checking Sent Items and Deleted Items. Unfortunately, the mailbox size tool above shows you the total size of each folder, rather than the number of items – and if you want to know how many folder you have, you’d need to manually count them in the scrolling list box: not an easy task if you have lots of them.
It’s quite possible if you’ve had your mailbox for a while, and you’re a very diligent filer (especially if you use a methodology like GTD or tools like ClearContext), you could inadvertently have more than 500 folders – and if you use AutoArchive, then you could find a lot of them are empty, since the archive process moves the items out into another location but leaves the folder structure behind.
FolderCount to the rescue
Here’s an interesting little hobby project – a macro-enabled Excel sheet which cycles through all the folders in your mailbox, tells you how many items are in each one and offers to get rid of the empty ones for you.
It can be run in:
Use with caution; though anything that is successfully “deleted” will be moved to Deleted Items first, therefore you’ll need to run it again to actually do the damage (or just empty your Deleted Items… a thought that fills some people with dread).
To run it, click on the link above, save the file locally, open it up in Excel and you’ll need to enable the Macros to run – probably by first enabling editing, and then allowing macros by “Enable Content”.
Once you’ve done that, click on the appropriate button to let it run. I’d suggest starting with the top one until you feel brave…
*The Thread Compressor tool was made available externally after a time, but the domain disappeared… the actual Outlook Addin is again available here, but you’re a bit on your own as far as installing and using it is concerned…