Today I was busy creating some new VM with German version of Windows Server 2012 R2 when all of a sudden I run out of space on a drive where my VMs are stored… To run out of drive space is not so difficult when using SSD drives which are offering superb performance, but still limited in capacity and expensive if compared with conventional HDDs.
Unfortunately VMware Workstation 11 just expands drives silently without any advance warnings until it claims all available space on the drive and then just stops with disk write error message offering only Retry and Abort options with high probability of losing all your unsaved job. So it doesn’t do proactive capacity planning for you :)
The next thing I discover is that I unable to delete anything from my VMs drive and there is no space on other local drive to move some of them, so I decided to move over the network couple of less frequently used VMs each about 50 GB in size… And after spending 4+ hours trying to do this while one of the machines was connected via the wireless I realized that I need to use wired connection otherwise I can spend whole day copying it. I had my recently bought gigabit Cisco switch, but didn’t have extra patch cord close at hands (yes Cisco doesn’t throw even single patch cord into their router box), so I had very good opportunity to see inferiority of wireless connection by contrast with wired one in terms of speed.
So despite all the shiny stickers you may see on wireless routers packaging for WiFi speeds it’s all exaggerated and unrealistic values in terms of data transfer rates. For example I’m using ASUS RT-N66U wireless router, which is not the worst one (I actually like it) and you may see that in product description there are claims about its mythical “Strong Signal Strength and Ultra-Fast Connection Rates up to 900Mbps”, well this is too good to be true, but even a bit more realistic 130 Mbps which Wi-Fi connection status shows me in Windows when I connected over Wi-Fi to this router can be safely divided by 10 to give you an idea about real data transfer rates. While copying 50 GB VM it was clear that it barely gives 13 Mbps (less then 10 Mbps most of the time). By the end of the day I decided I’d better take a short walk to get extra Ethernet cable and switch to wired connection.
So when I returned back with a cable it was still trying to finish copy operation and I had an opportunity to see in practice expected benefits of wired connectivity and SMB v3 protocol. As you probably know Windows Server 2012 and Windows 8 use SMB 3.0 (3.02 for Server 2012/Windows 8.1) which gives you such amazing things like graph of transfer speed when you performing copy operation along with pause/resume button in terms of visible changes, but it hides loads of improvements under the hood (things like MPIO support and many other goodies). As soon as I connected Ethernet cable my WiFi connection was automatically disabled once wired one was established without any interruption for file copy operation, and immediately transfer speed went up from less than 10 Mbps to values like 140 Mbps and above, shrinking remaining time estimate of about 40 minutes which I saw when connected over Wi-Fi to less than 4 minutes, completing copy operation in no time.
Conclusion: No matter how convenient Wi-Fi connection, when you need really good speed to transfer files or for something else and stability you should always prefer wired connection. Even the best wireless router in ideal conditions won’t give you anything close to wired connection in terms of speed, and to be honest in terms of connection stability and security also. Wi-Fi just more convenient for wire-free work place and mobility – that’s it.
And second conclusion SMB v3 is really cool improvement which works silently behind the scenes, but it one of the coolest improvement in latest Windows releases you just need some time to discover / fully appreciate it. Here is huge list for those who may want to read on about all SMB 3.02 improvements and how they are leveraged by other Windows features:
P.S. While installing German version of Server 2012 I discovered that “Anmelden als Dienst” means “Log on as a service” in German :)