Home > Windows Server Tips > Windows Hardware Strategies > Optimize your server's disk performance
Windows Server Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

WINDOWS HARDWARE STRATEGIES

Optimize your server's disk performance


Brien M. Posey, Contributor
03.06.2007
Rating: -3.40- (out of 5)


Expert advice on Windows-based systems and hardware
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


Hard disks are the resources most heavily used by a server. The way a server's hard disks are configured and maintained usually has an enormous impact on the server's overall performance.

As such, it makes sense to spend a bit of time optimizing a server's disk usage. In this article, I'll share some techniques for improving the efficiency of your server's disk subsystem.

Note: Every server is configured differently. As such, disk configuration and optimization techniques that would be ideally suited to one organization might be detrimental to another. The only way to fully optimize a server's disk usage is to analyze which applications are running on the server, and how much of a workload those applications place on the server's disk subsystem.

Therefore, there is no one technique that will make your server run with peak performance. This article will provide you with some general techniques that will improve the performance of most types of servers.

File placement

One trick for optimizing a server's performance is to place files onto the appropriate hard drives. For example, the Windows Server operating system is almost always installed on the C drive. That being the case, I recommend using the C drive only for the operating system, although in some cases you can also install applications to the C drive without hurting performance much.

The OS component that consumes the most disk I/O time is the pagefile. I recommend placing the pagefile on a dedicated hard drive (not a dedicated partition). This prevents disk I/O related to virtual memory paging from disrupting other parts of the system.

Any data stored on a server should be stored on a dedicated volume. Since most of the server's disk I/O is usually related to reading and writing data, it usually makes sense to place the data on a RAID array. Which type of RAID depends on the level of performance and fault tolerance you need. RAID 10 arrays are a good choice because they're as fast as a RAID 1 array, but offer fault tolerance through mirroring.

Memory

The amount of memory in your system makes a huge difference in disk subsystem performance. As mentioned above, placing the pagefile on a dedicated hard disk minimizes the impact that virtual memory paging has on the rest of the system.

The concept of virtual memory comes from a time when physical memory was extremely expensive. The idea was to compensate for a shortage of physical memory by allowing a portion of the hard disk to act as physical memory.

However, this technique is inefficient. For one thing, the hard disk is much slower than even the slowest physical memory. Hard disk access is measured in milliseconds; physical memory access is measured in nanoseconds.

Another problem is that the OS cannot work with pages of memory stored in virtual memory. If the OS needs to perform an action on a page of memory, that page must be moved to physical memory first. This process is called swapping or paging.

If a server's physical memory is full, and it needs to access a page of memory stored in virtual memory, the server will have to move a currently unused page from physical memory to virtual memory, in order to make room for a page to be moved from virtual memory to physical memory.

This paging process consumes not only disk resources but also a lot of CPU time and memory. Some of the server's physical memory is used to keep track of which pages are in RAM and which are in virtual memory. This is why the paging process is so inefficient. Some paging is normal, but excessive paging can lead to constant disk activity and kill a server's performance.

The best way to reduce paging is to install as much memory as possible in your server. As the amount of RAM in your server increases, the size of the pagefile will also increase. However, the system's dependency on the pagefile decreases. This will free up a considerable amount of disk time and CPU time.

Defragmenting

One way to keep hard disks performing well is to schedule a routine defragmentation. Hard disks are designed to write data in a linear fashion. But when files are deleted, gaps of empty space are left behind.

A hard disk will fill in this empty space before writing data to the empty space at the end of the drive. If a gap of empty space is not large enough to accommodate a file that's being written, the file is fragmented. This means that a portion of the file is inserted into the gap of empty space, and the rest of the file is placed either in the next gap of empty space or at the end of the drive. . .whichever comes first.

Fragmentation is bad for system performance, because the disks heads need to move all over the surface of the hard disk to read or write files. Defragmenting a hard disk removes fragmentation and allows files to be stored in a linear fashion, which allows for much faster reads and writes.

Indexing

Depending on what your server is being used for, indexing can be good or a bad. Indexing involves reading all the files on a disk and building an index that tells the OS what each file contains. If users are routinely searching through large quantities of data looking for specific files, indexing can make this process dramatically more efficient.

However, many administrators do not like indexing because the process consumes a lot of CPU time and memory. Some disk space is also used to store the index.

Here's my recommendation: Decide whether indexing is appropriate on a server-by-server basis. I index the file servers in my organization because I constantly have to search through my files to see if I've ever written about certain topics. However, my mail servers, database servers, DNS servers, domain controllers, etc., are not indexed. Indexing these types of servers would be pointless. In fact, if you want to improve performance, you might check your infrastructure servers to make sure they're not indexed.

About the author: Brien M. Posey, MCSE, is a Microsoft Most Valuable Professional for his work with Windows 2000 Server, Exchange Server and IIS. He previously served as CIO for a nationwide chain of hospitals and was in charge of IT security for Fort Knox. He writes regularly for SearchWinComputing.com and other TechTarget sites.

More information on this topic:


Rate this Tip
To rate tips, you must be a member of SearchWindowsServer.com.
Register now to start rating these tips. Log in if you are already a member.


Submit a Tip




Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google



RELATED CONTENT
Windows Hardware Strategies
Availability in the virtualized Windows server
Hardware considerations for Windows server virtualization
Scaling Windows server resources for virtualization
Troubleshooting your toughest Windows server crashes
High-tech solutions for monitoring computer heat
Server virtualization at the hardware level with Hyper-V
Virtualization and 64-bit: A match made in Windows heaven
How to use the g4u network-based hard disk cloning utility
Multi-core processors on the desktop offer major boost
When and how to migrate to a 64-bit platform

Windows Server Monitoring and Management
How Windows Server 2008 R2 stands up to security checks
BitLocker in R2 provides data protection for semi-protected servers
Perfmon made easy with PAL utility
Converting Citrix XenServer source machines to Hyper-V format
Balancing Windows security with reasonable password policies
Windows AppLocker in R2: Turning conventional security wisdom on its head
Top 10 things you don't know about Windows Server 2008 R2
BranchCache makes branch offices feel like home
When to use VM backups versus snapshots in Hyper-V
Installing Server Core for Windows 2008 the easy way

Windows Server Monitoring and Administration
Perfmon made easy with PAL utility
DirectAccess means 'always on' in Windows Server 2008 R2
Top five Server Core management tips for Windows 2008
Top free tools for Windows server administration
Windows Server 2008 Learning Guide
A quick guide to Server Manager for Windows Server 2008
Moving dynamic disks to a new Windows server
A first look at Storage Explorer for Windows Server 2008
Tips for Windows domain controller optimization
Take control of server clusters with Microsoft's ClusDiag tool

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary

DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.



Server Room Design - Planning, Cooling, Maintenance
HomeTopicsBlogsITKnowledge ExchangeTipsAsk the ExpertsMultimediaWhite PapersIT Downloads
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2004 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts