Q: We only have “x” dollars to spend on our Windows system upgrade, but where should they go? Also, how does that vary between servers and desktops?
A: Whenever you’ve been allocated money for a Windows system upgrade, it helps to have a sense of where to spend it to get the most value back. You should also be aware that priorities have changed slightly over time; what was once a valuable upgrade is now not as useful. Let’s examine some common Windows upgrades and their respective values.
1. Adding memory never hurts.
You can almost never go wrong with adding memory to a Windows system, no matter how big or small its workload. The more memory available, the more it makes up for things like slow disk access. This is accomplished by allowing more pre-caching of commonly used data. Both Windows desktops and servers stand to gain from this.
This has become better understood in the past few years, especially after Microsoft Windows Vista and Windows 7 dropped. Both OSes -- as well as Windows XP to some extent -- prepopulate RAM with commonly used data. If an application needs extra memory, the least commonly accessed data in the cache is automatically cycled out.
When it comes to desktops, the performance boost gained from adding memory should always be balanced against its application load. A 4 GB desktop that doesn’t run a lot of memory-intensive applications -- think Excel pivot tables and virtualization -- won’t benefit much from an upgrade to 8 GB. The same can be said of servers, although it’s easier to justify adding memory to a server because its workload is inherently that much larger.
When it comes to memory, you get what you pay for -- but only up to a certain point. It’s typically not worth finding the cheapest memory. That said, it’s also not worth splurging on the most expensive memory. The only time that’s justified is when you’re spending extra for memory features that your system requires, like error correction for server memory.
2. If you can’t add memory, upgrade storage -- but buyer beware.
Sometimes the system in question can’t handle a memory upgrade -- either because it’s already maxed out or because the memory necessary isn’t cost-effective. This is a common problem with systems that are more than a few years old. In these cases, consider upgrading your system’s storage. This doesn’t mean just adding more storage, but replacing slower drives with faster ones wherever possible.
In this context, “faster” means input/output operations per second (IOPS). You can’t assume that this metric will directly correlate with rotational speed or size. Remember, a larger drive might not automatically be faster because of seek times.
In addition, a drive with a higher rotational speed might not automatically be faster than a larger drive that has been subpartitioned. In short, don’t make assumptions about what’s “faster” when it comes to storage; you must back it up with performance numbers.
Replacing conventional spinning-platter disks with solid-state drives (SSDs) has also become trendy. SSDs do indeed improve raw performance in both server and desktop contexts, but they come with a few caveats:
- Cost. The price per gigabyte for SSDs is still much higher than that of conventional disks. If you have a 1 TB system drive, you can only get one-tenth or one-fifth of that space on a SSD for the same price you’d pay for a conventional spinning-platter drive.
- Controller bottlenecks. Very fast SSDs that connect to conventional disk controllers -- like those seen by the system as standard SATA disks -- are ultimately limited in their throughput by the disk controller itself, not the disk’s own hardware. Higher-end SSDs intended for server use come with their own controller hardware as a way to work around this problem. Be warned, though, you’ll pay a premium for such devices -- thousands of dollars, as opposed to the hundreds you’d spend on a conventional SSD.
- Read types. SSDs provide massive improvements over platter drives in scenarios that involve a large number of random reads. They don’t provide much improvement for serial reads, however. Some of that may be the result of a controller-bottleneck issue similar to the one described above.
3. Processor upgrades are rarely worth the trouble.
In the past, the differences between various iterations of processors were far more profound and immediately noticeable than now. Those days are gone, and most of the performance boosts that come from one processor versus another stem from features that have little to do with raw clock speed.
Virtualization is one such feature that is growing in importance. The newest iterations of processors support some features for enhanced virtualization performance, like Extended Page Tables (EPTs). Those processors may not be socket-compatible with your current crop of systems, so the only upgrade options available are either a whole new motherboard or an entirely new system. If you’re dealing with a leased fleet of machines, you’re better off starting with a clean slate rather than attempting to upgrade existing hardware.
4. Full system upgrades should never be off the table, even if they seem costly.
Look at the amount of money you’re putting towards upgrades, and try to calculate the total value. The return on investment is harder to quantify than you might think, because it can be difficult to objectively quantify things like end-user satisfaction.
If you can get a better bang for your buck with a complete system upgrade than with a plain old performance upgrade, strongly consider it -- especially if you're gaining access to better and more desperately needed technologies.
ABOUT THE AUTHOR:
Serdar Yegulalp has been writing about computers and IT for more than 15 years for a variety of publications, including SearchWinIT.com, SearchExchange.com, InformationWeek and Windows magazine.
This was first published in February 2012