optimize now
Volume #1      Issue Two
 

In This Issue
Welcome
Virtualization Performance Considerations
The Key to Enhancing File System Performance in the Enterprise
Quick Links
Welcome

storageWelcome to the second edition of Raxco Software's newsletter for Windows enterprise IT professionals. The response to the inaugural edition was great. We appreciate the feedback, so keep the comments and suggestions coming - send your emails.
 
In this edition, we follow-up last month's article on virtualization by looking at performance and architectural considerations in a virtual machine environment, and look at a key aspect of improving file system performance throughout your enterprise.
 
Thanks for reading. 
 
Join Our List
Join Our Mailing List
Virtualization Performance Considerations
With the introduction of virtual machines into enterprises, the need for ways to ensure optimal performance is moving to the center of the virtualization equation. For all the potential cost and performance benefits that can be achieved through implementation of virtual machines, the benefits will not be realized to the extent possible if proper attention is not paid to implementation and performance considerations.

High-performance virtualization is challenging, particularly with the x86 architecture, which was not designed for virtualization. There are three methods for implementing virtualization with the x86 architecture:

  • transparent virtualization
  • paravirtualization
  • hardware.

While either of these implementations will help move you along the path toward virtualization, typically a combination of the three is used for best performance, reliability and capability to the end user in the hypervisor environment. What is best for an enterprise will depend on the individual organization's specific requirements and environment.

A "hypervisor" (sometimes referred to as "virtual machine monitor") is a virtualization platform that allows multiple operating systems to run on a host computer at the same time. There are two types of hypervisors:

  • Type 1 is software that runs directly on a given hardware platform as an operating system control program, with a "guest" operating system running at the second level above the hardware.
  • Type 2 is software that runs within an operating system environment, with a "guest" operating system running at the third level above that hardware.

Transparent virtualization allows operating systems, or components of the operating system, to run inside virtual machines without modification. This helps ensure that the guest operating systems run without modification. This results in excellent OS compatibility. Furthermore, because there is no modification, most CPU instructions are executed directly, with zero or low performance overhead.

Paravirtualization requires modifications to the OS before it can run inside the virtual machine. For example, changes may be required for drivers or kernels.

There are also instances where hardware can provide explicit support for virtualization. While this is not the norm, hardware vendors are moving into this area as the popularity of virtualization increases.

For memory management, a goal is to limit modifications to the operating system to address virtualization and limit specific hardware changes. By limiting modification, performance will be enhanced. One method is the use of shadow page tables, which provide a map between the guest operating system's virtual memory pages and the underlying physical machine pages. This helps make virtual memory access efficient, without OS modification or hardware support. Shadow page tables insulate guest operating systems from their dependence on specific machine memory, allowing the hypervisor to optimize the use of that memory far beyond what an individual operating system is capable of doing.

In I/O virtualization, there are two key decisions: where the drivers for the physical network and storage hardware reside, and what virtual hardware is presented to the guest operating system. For high-performance I/O, drivers can be placed directly into the hypervisor.

Whichever method(s) is chosen, performance should be considered. Virtualization by its very nature imposes some level of performance overhead. The overhead comes from CPU virtualization, memory management, and I/O virtualization. The exact proportions and whether they represent a perceptible performance hit depends on workload. Paravirtualization is effective for situations in which certain non-virtualization instructions are being called, but its benefits can be outweighed by inadequate memory management or by poor I/O throughput. Also, what other workload is being run in the network, and how many virtual machines are being run.

Quality of Service is an important issue for virtual machines. No virtual machine should be able to negatively impact another virtual machine, and should be able to guarantee a minimum level of resources and service.

Just as with physical servers, you can tune a virtual machine to better suit one application or another. Whether your virtual server is running SQL Server or other databases, Citrix applications, web servers, or anything else, you'll want to make sure it's tuned properly. Fragmentation can have a substantial negative impact on the virtual machines' and the physical machine's performance, so defragmenting drives at both the physical and virtual layers is an important step to improving virtual machine performance.

The Key to Enhancing File System Performance in the Enterprise
 
It has long been recognized that file fragmentation is detrimental to Windows system performance.  Several studies have examined the impact of file fragmentation on overall performance of file systems and the negative impact fragmentation has on the total cost of ownership (TCO) for IT departments. Enterprises of virtually all sizes have implemented enterprise-wide defragmentation projects for a variety of reasons, including:
  • enhanced (file server, database, file server, etc.) server performance
  • improved server stability
  • reduced backup times
  • reduced help desk costs
  • improved user productivity
  • reduced application errors
  • extended server and workstation life.

Microsoft and industry analysts concur on the problem. Indeed, Gartner Research has observed that "the Windows built-in defragmentation tool is a multi-pass defragmenter that must be run over and over to defragment the disk, especially when defragmenting very large disks with heavy fragmentation and limited free space. As such, multi-pass defragmenters characteristically fragment the remaining free space on the disk, which accelerates fragmentation later." 

The problem is exacerbated, particularly on critical servers, as disk sizes have evolved to several terabytes. If ignored, fragmentation can cause large drives in particular to deteriorate to a point where performance can be brought to a near standstill. This has a negative impact across the organization.

Defragmentation, seemingly a straightforward concept, has actually evolved considerably over the past few years.  Free space consolidation has received significantly increased interest over the last few years, and is now recognized as a critical element of the overall defragmentation concept. In order to understand why free space consolidation is so important to the overall concept of file fragmentation, this article will address some key points to consider.

File fragmentation is a function of how the file system allocates space to a file. To create a file, the NTFS file system looks to the $Bitmap file to determine where space is available. The $Bitmap file identifies which logical clusters are in use and which ones are free.  If the file system cannot allocate space for the entire file in a contiguous string of logical clusters, the file will be fragmented. When a read or write request is received for that file, the Master File Table is accessed and it provides the starting logical cluster number (LCN) and the run length for each fragment needed to satisfy the requested read range. The more fragments there are, the longer it takes to read the file, as each noncontiguous read incurs a disk seek10 (approximately 10 msec on today's disks, or about 30 million wasted processor cycles on a 3GHz processor). If a read request spans 10 fragments, the file system needs to report the 10 starting LCN's and run lengths to the disk controller.

When the file system receives a read/write request that spans a fragmented region of a file, it must split the single input/output request packet (IRP) into multiple associated request packets that read or write the scattered data. By measuring both the number of requests sent to the file system and the number of resulting requests sent to the disk, one can determine the number of extraneous, or wasted, disk requests and thus wasted seeks.

When free space is not consolidated, the result is typically an increase in the number of free space fragments and overall fragmentation. And that results in increased seeks on the drive when reading and writing files. While historically fragmentation studies focused on read access times, modern studies focus on write access times as well. When the number of free space fragments increases, drive performance suffers. One often-overlooked fact is that write performance, not just read performance, suffers. In other words, defragmenting a drive without free space consolidation does not reliably increase drive performance, and can in fact, decrease it, because the number of wasted seeks increases. There are many real-world scenarios where file fragments are decreased and free space fragmentation increases, and the result is worse drive performance and an increased number of wasted seeks.

In conclusion, consolidating free space is singularly effective in postponing refragmentation of a file system.  When a file is copied to a volume or a new file created and its size set, Windows is successful in using contiguous free space when it is available.  If sufficient contiguous free space is not available, the file is created in a fragmented condition. This finding is consistent with the observation Gartner made in its assessment of the built-in Windows defragmenter and multi-pass defragmentation engines.

In summary:

  • free space consolidation increases disk and operating system performance
  • free space consolidation is a critical aspect of disk defragmentation
  • free space consolidation is as important as defragmentation of files for  
  • if free space is not consolidated adequately, overall disk defragmentation is likely to be ineffective
  • if free space is not adequately consolidated, fragmentation will occur, and even newly-created files will be fragmented
  • failure to consolidate free space can be detrimental to overall system 
    performance.
Save 25%
on every product
and suite in the Raxco Ecommerce
Store!
For the subscribers of Optimize Now, Raxco Software is offering a 25% discount on every item in the Raxco Ecommerce Store.
 
Offer valid in Raxco Software ecommerce store only and may not be combined with other offers.
 
Click to redeem this coupon, and use coupon code OPTIMIZE25 when checking out.
Offer Good through August 31st
 
If you haven't already done so, don't forget to subscribe to our newsletter mailing list above so that you'll continue to receive future issues.
 
Sincerely,
 
Optimize Now Newsletter
Raxco Software, Inc.