Condusiv Technologies Blog

Condusiv Technologies Blog

Blogging @Condusiv

The Condusiv blog shares insight into the issues surrounding system and application performance—and how I/O optimization software is breaking new ground in solving those issues.

Optimizing Virtual Platform Disk Performance (ESX)

by Michael 28. June 2011 07:38

Overview 

The intensified demand for IT network efficiency and lower operating costs has been driving the phenomenal growth of virtualization in the past decade, with no signs of slowing. At present, many corporations run more virtualized servers than physical servers.

 

While virtualization provides opportunity for consolidation and better hardware utilization, it’s critically important to recognize and never exceed hardware capacities.  

The importance of ensuring sufficient CPU and memory are well understood, with many processes and management tools available to help plan and properly provision VMs for these critical resources. I/O traffic, network and disk, are more complicated to account for in virtual environments as they tend to be more unpredictable.

In order to better accommodate disk I/O, most virtualization platforms will implement a Storage Area Network (SAN) which can offer greater data throughput, and a dynamic environment to address fluctuations in I/O demands.

While a storage infrastructure can be built out to meet expected demands, there are uncontrollable behaviors that will still impede performance. 

File Fragmentation

As files are written to a general purpose local disk file systems, such as Windows NTFS, a natural byproduct is file fragmentation. File fragmentation is a state in which the data stream of a file is stored in non-contiguous clusters in the file system. Fragmentation occurs on logical volume, and by device drivers is translated to logical blocks, and eventually to physical sectors residing on a storage device. It can be demonstrated as pieces of a file located in a non-contiguous manner. The effect of this file fragmentation is increased I/O overhead, leading to slower system performance for the operating system.

In the case of virtual platforms, a guest operating systems is stored as a file (i.e. set of files) on the virtual platforms file system as a “virtual disk”. A virtual disk is essentially a container file, housing all the files that constitute the OS and user data of a VM.  A virtual disk files can fragment just as any other file can resulting in what amounts to a “logically” fragmented virtual hard disk, which still has typical file fragmentation contained within it. The picture represented to the right would appear as “VirtualServer1.vmdk, 30GB in size, in 4 pieces”.  

 

This situation equates to hierarchical fragmentation or more simply fragmentation-within-fragmentation. Given the relatively static nature and large size of virtual disks, and large allocation unit size of VMFS (typically 1MB), fragmentation of these files is unlikely to cause performance issues in most cases. The focus and solution to fragmentation should be directed at the guest operating system.

Fragmentation within a Windows VM will cause Windows to generate additional unnecessary I/O. This added I/O traffic can be discovered using Windows Performance Monitor, where it is one of the principal causes for Split I/O.  

 

Fragmentation prevention and defragmentation technologies exist to eliminate unnecessary I/O overhead, and improve system performance. Fragmentation prevention solves fragmentation at the source, by actively causing files to be written contiguously via advanced files system drivers. Defragmentation is the action in which file fragments are re-aligned within the file system, into a single extent, so that only the minimal amount of disk I/Os are required to access the file, thereby increasing access speed.  

Partition Alignment 

Depending on your storage protocol and virtual disk type, misaligned partitions can cause additional unnecessary I/O[1]. In the example below in which the ESX and SAN volumes are not properly aligned, a Word file spanning four NTFS clusters causes additional unnecessary I/O in both VMFS and the SAN LUN.  

 

Similarities between Partition Alignment and Fragmentation 

Much like misaligned partitions can cause additional I/O at multiple layers, so does fragmentation. While partitions can be properly aligned once and never require further corrective action, fragmentation will continue to occur, and needs to be regularly addressed.

In the example below, which assume proper partition alignment, a file in eight fragments in the guest OS, causes additional I/Os to be generated at the virtualization platform layer[2] and at the LUN.   

 

Defragmentation in the guest operating system (of this file), eliminates excess I/O when accessing the file as Windows only generates one I/O. This reduction in I/O traffic translates to the host file system and SAN LUN, ensuring efficiencies at each layer.   

 

Best Practices 

Defragmentation of Windows file systems is a VMware recommended performance solution. The VMware Knowledge Base article 1004004[3] states “Defragmenting a disk is required to address problems encountered with an operating system as a result of file system fragmentation. Fragmentation problems result in slow operating system performance.” In order to validate the Vmware statement, tests were performed.

 

Test Environment

  
Configuration

Test Environment Configuration Host OS: ESX Server 4.1 with VMFS (1MB blocks)

Guest OS: Windows Server 2008r2 x64 (3GB RAM, 1 vCPU)

Benchmarking Software: Iometer (http://www.iometer.org/)

Fragmentation Program: FragmentFile.exe (used to fragment a specified file)

Defragmentation Software: V-locity® 3.0 (http://www.diskeeper.com/business/v-locity/)

 

Storage: 10GB test volume in a 40GB virtual disk. VMFS Datastore of 410GB. HP Smart Array P400 controller. RAID 5 (4x 136GB SCSI at 10K RPM) Stripe size of 64KB with a 64KB offset (properly aligned).

Load Generation 

The industry standard benchmarking tool Iometer was used to generate I/O load for these experiments.  

Iometer configuration options used as variables in these experiments:

• Transfer request sizes: 1KB, 4KB, 8KB, 16KB, 32KB, 64KB, 72KB, and 128KB

• Percent random or sequential distribution: for each transfer request size, 0 percent and 100 percent random accesses were selected

• Percent read or write distribution: for each transfer request size, 0 percent and 100 percent read accesses were selected 

Iometer parameters that were held constant for all tests:

• Size of volume: 10GB

• Size of Iometer test file (iobw.tst): 8,131,204 KB (~7.75GB)

• Number of outstanding I/O operations: 16

• Runtime: 4 minutes

• Ramp-up time: 60 seconds

• Number of workers to spawn automatically: 1 

The following is excerpted from a VMware white paper[4], and helps to explain why the Iometer parameters were used. 

Servers typically run a mix of workloads consisting of different access patterns and I/O data sizes.

Within a workload there may be several data transfer sizes and more than one access pattern.There are a few applications in which access is either purely sequential or purely random. For example, database logs are written sequentially. Reading this data back during database recovery is done by means of a sequential read operation. Typically, online transaction processing (OLTP) database access is predominantly random in nature. 

The size of the data transfer depends on the application and is often a range rather than a single value. For Microsoft Exchange, the I/O size is generally small (from 4KB to 16KB), Microsoft SQL Server database random read and write accesses are 8KB, Oracle accesses are typically 8KB, and Lotus Domino uses 4KB. On the Windows platform, the I/O transfer size of an application can be determined using Perfmon.

In summary, I/O characteristics of a workload are defined in terms of the ratio of read operations to write operations, the ratio of sequential accesses to random accesses, and the data transfer size. Often, a range of data transfer sizes may be specified instead of a single value.  

Create Fragmentation 

The FragmentFile.exe tool was used to fragment the Iometer test file (iobw.tst) into 568,572 fragments, a mid-range amount of fragmentation for a production server. The statistics collected from an analysis of the volume (shown below) were performed with V-locity.

Test Procedure 

The primary objective was to characterize the performance of fragmented versus defragmented virtual machines for a range of data sizes across a variety of access patterns. The data sizes selected were 1KB, 4KB, 8KB, 16KB, 32KB, 64KB, 72KB, and 128KB. The access patterns were restricted to a combination of 100 percent read or write and 100 percent random or sequential. Each of these four workloads was tested for eight data sizes, for a total of 32 data points per workload.

In order to isolate the impact of fragmentation only the test VM was powered on and active for the duration of the tests.

For the initial run, Iometer created a non-fragmented file, and performance data was collected. Then FragmentFile.exe tool was used to fragment the Iometer test file, the VM rebooted, and the test procedure re-run. This resulted in data sets for both non-fragmented and fragmented scenarios. The results are graphed below.  

Performance Results  

As the graphs show, all workloads show an increase in throughput when the volume [file] is defragmented (i.e. not fragmented).  It also becomes clear that as the I/O read/write size increases, the fragmentation-induced I/O latency increases dramatically.  The greatest improvements of a contiguous file are found with file reads; both random and sequential. 

 

Random Reads  
 
Random Writes 

Sequential Reads

Sequential Writes

Conclusion

 

Fragmentation demonstratively impedes performance of Windows guest operating systems.  While the tests depicted were executed on a singular VM, the issue becomes exponentially worse in a multi-VM environment wherein each VM suffers from file fragmentation.  As server virtualization establishes a symbiotic relationship, it is important to remember that generating disk I/O in one virtual machine affects I/O requests from other virtual systems.  Therefore latencies in one VM will artificially inflate latency in co-located virtual machines (VMs that share a common platform).  

Fragmentation artificially inflates the amount of disk I/O requests which, on a virtual machine platform, compounds the disk bottleneck even more so than on conventional systems.

Eliminating fragmentation in VMs, and the corresponding unnecessary disk I/O traffic, is vital to platform-wide performance and enhances the ability to host more VMs on a shared infrastructure.

You can download the PDF white paper here: Optimizing Virtual Platform Disk Performance.pdf (1.04 mb)

[1] VMware guide to proper partition alignment: http://www.vmware.com/pdf/esx3_partition_align.pdf
[2] It should be noted that VMFS, in the example above need only read the actual amount of data requested in multiples of 512 byte sectors, and does not need to read an entire 1MB block.  
              

Tags:

SAN | Defrag | V-Locity | SAN | VMware | V-Locity | white paper | VMware | white paper

The Summer Blockbuster Sequel: V-locity 3.0

by Michael 24. June 2011 07:00

Coming Soon: V-locity 3.0 (virtual platform optimizer)  has some fantastic new features in it we're sure you’ll like, including:

+Full Support for ESXi Server (in addition to existing support for ESX and Hyper-V)

+Reduced installation effort for ESX Servers (no installation on Host)

+New CogniSAN technology (for storage area networks)

+New V-Aware technology (for any virtualization platform)

+Automatic zeroing of free space (for thin/dynamic virtual disks)

+Added support for virtualization platforms such as XenServer, RHEV, Oracle VM and more

We are just a few short weeks from releasing it, and could use your help. If your interested in catching a “sneak peak” (our final release candidate build), and are interested and able to install, evaluate and then comment (fill out a 10 minute online survey) on this software, simply fill-out a Non-Disclosure Agreement (NDA) located here.

Fax the signed NDA to:
Fax: 818-252-5514

Please add the following to the Fax cover page:
Attn: Field Test Administrator/V-locity Field Test

Alternatively you can email the signed NDA (scan in the pages with your signature) to our Field Test administrator. Please add "V-locity Field Test" in the subject line.

UPDATE July 28, 2011:

Congrats to Benjie Henderson, Virtualization Architect at SS&C, winner of the iPad2 raffle held for release candidate testers! 

Tags: , , , , ,

Hyper-V | SAN | virtualization | V-Locity | VMware

Finding Latencies in your VM/SAN Infrastructure

by Michael 30. March 2011 11:10

Okay, so you've bought, installed, connected, configured, and then tuned/optimized your new storage virtualization solution, but somehow there are still latencies with apps (e.g. SQL).

You've run the Storage Area Network (SAN) vendor utilities that:

  • did not see any contention on the disks in the RAID group(s). 
  • noted that the average I/O to physical disks did not exceed a reasonable number of I/O's per second on each volume in the meta device.
  • checked the utilization of the port that the Host Bus Adaptor (HBA) is zoned to and did not see any performance issues.
  • noted the switch port that the HBA is connected to is not saturated or reporting any errors.

And basically surmised "at this time we do not see any issue on the array or with the SAN in reference to this server."

However....

When running PerfMon within Windows, it continues to uncover latencies in the 100ms+ range. What the hayel!

This is when it's important to consider what those SAN optimization and reporting tools are providing. SANs can optimize storage from HBA-to-spindle. Above the HBA other factors cause latencies outside the scope or control of the SAN, and ultimately it is the App/User Experience that needs to be addressed.

So, it's time to look further up the storage stack.

Here is a great chart (borrowed from VMware here):

The chart helps simplify that SAN and even VM based latency monitoring and storage optimization do not account for latencies that may exist in the Guest Operating System (GOS). They are only aware of, and able to optimize I/O from the point they receive the traffic to the physical storage.

Monitoring performance in Windows does not go away simply because you've left direct attached storage (DAS) and physical servers to go virtual. There are numerous causes for poor performance on the GOS side, from poorly written apps, to incorrect configurations, to bad partitioning strategies, file system fragmentation and more. Pretty much all the issues that could cause poor Windows I/O performance on physical servers with DAS, still exist.

It's important to continue to use GOS based solutions to determine application latency such as PerfMon, which can support counters for popular apps (like SQL).

To evaluate if file fragmentation is a potential cause, track these metrics with Perfmon. Fragmentation will show up in the logical disk statistics referred to in the document. You can also use a freeware solution from Diskeeper Corporation; called Disk Performance Analyzer for Networks (DPAN) to collect file fragmentation statistics from any Windows system (physical or virtual) on your LAN/WAN.  You can download DPAN here.

Sample DPAN Report:

Tags:

Defrag | SAN

Best Practices for Storage Area Network (SAN) Defragmentation

by Michael 29. March 2011 02:30

Overview:

As high performing storage solutions based on block protocols (e.g. iSCSI, FC), SANs excel at optimizing block access. SANs work at a storage layer underneath the operating systems file system; usually NTFS when discussing Microsoft Windows®. That dictates that a SAN is unaware of “file” fragmentation and unable to solve this issue.


Fig 1.0: Diagram of Disk I/O as it travels from Operating System to SAN LUN.

With file fragmentation causing the host operating system to generate additional unnecessary disk I/Os (more overhead on CPU and RAM) performance suffers. In most cases the randomness of I/O requests, due to fragmentation and concurrent data requests, the blocks that make up the file will be physically scattered in uneven stripes across a SAN LUN/aggregate. This causes even greater degradation in performance.


Fig 1.1: Sample Windows Performance Monitor Report from fragmented SAN-attached NTFS volume.

Fortunately there are simple solutions to NTFS file system fragmentation; fragmentation prevention and defragmentation. Both approaches solve file fragmentation at the source, the local disk file system.

IntelliWrite® “The only way to prevent fragmentation before it happens™”

IntelliWrite is an advanced file system driver that leverages and improves upon modern Windows’ file system “Best Fit” file write design in order to write a file in a non-fragmented state on the initial write. Intelligently writing contiguous files to the disk provides four principal benefits above and beyond defragmentation, including:

  • Prevents most fragmentation before it happens
  • Better file write performance
  • An energy friendly approach to improving performance, as defragmentation is not required for files handled by IntelliWrite
  • 100% compatibility with copy-on-write technologies used in advanced storage management solutions (e.g. snapshots)

While eliminating fragmentation improves performance. it is important to properly configure and account for advanced SAN features.

With the increasing popularity of SANs, we've included instructions in the Diskeeper installation to ensure users properly configure Diskeeper:

We suggest reading this full document before executing any of the recommended configurations. These instructions apply to V-locity (used on VMs as well).

Best Practices:

Highlights:

Implementing Diskeeper on a SAN is simple and straightforward. There are two principal concepts to ensuring proper configuration and optimal results:

  • Ensure IntelliWrite is enabled for all volumes.
  • Find a time to schedule Automatic Defragmentation (more details below)
Details:

If you are implementing any of the following SAN based technologies such as Thin Provisioning, Replication, Snapshots, Continuous Data Protection (CDP) or Deduplication, it is recommended to follow these guidelines.

Defragmentation can cause unwanted side effects when any of the above referenced technologies are employed. These side effects include:

With SAN replication:
Likelihood of additional data replication traffic.

With Snapshots/CDP:
Likelihood of additional storage requirements for data that defragmented/moved and snapshot-related performance lag.

With Thin Provisioning:
Likelihood of additional storage requirements for data that defragmented/moved.

With Deduplication:
Potential for additional deduplication overhead. Also note that deduplication can be used to remove duplicate blocks incorrectly allocated due to defragmentation. This process can therefore be used to reclaim over-provisioned space.

This is why it is important to enable the fragmentation prevention (IntelliWrite) and change the Automatic Defragmentation to occur during non-production periods to address the pre-existing fragmentation:

During Installation, disable Automatic Defragmentation;


Uncheck the “Enable Automatic Defragmentation” option during installation.

Upon installation ensure IntelliWrite is enabled on all volumes (default). IntelliWrite was specifically designed to be 100% compatible with all advanced SAN features, and should be enabled on all SAN LUNs. IntelliWrite configuration is enabled or disabled per volume, and can be used in conjunction with Automatic Defragmentation, or exclusively.


To ensure IntelliWrite is enabled, right click a volume(s) and select the feature.


Then confirm “Prevent Fragmentation on this volume” is selected, and click “OK” to complete.

Once installed, enable Automatic Defragmentation for any volumes that are not mapped to a SAN LUN. This may include the System Partition (e.g. C:\).


To enable Automatic Defragmentation, right click a volume(s) and select the feature.


Then check “Enable Automatic Defragmentation on the selected volumes” and click “OK” to complete.

If you are not using any advanced SAN features, it is recommended to enable Automatic Defragmentation for all days/times. However, note that pre-existing fragmentation will require significant effort from Diskeeper to clean up. This effort will generate disk I/O activity within the SAN.

Therefore, if existing fragmentation is significant, initially schedule Diskeeper to run during off-peak hours. As Diskeeper has robust scheduling capability, this is easily configured.


To enable Automatic Defragmentation during non-production periods, right click a volume(s) and select the feature.


Then check “Enable Automatic Defragmentation on the selected volumes”. Diskeeper is then scheduled by using your mouse to highlight over the 30 minute blocks in the interactive weekly calendar.

The above example disables defragmentation Monday through Friday. It also disables defragmentation Saturdays and Sundays except between 7pm until 3:30am the following morning. This would afford 17 hours of defragmentation availability per week. Immediately following these scheduled defragmentation periods is when SAN maintenance for advanced features should be addressed (e.g. thin reclamation, deduplication).

Should accommodating SAN maintenance be difficult (e.g. limited maintenance windows)using a weekly optimization process, very granular scheduling is also available with Diskeeper. Note, maintenance windows are not required in order to implement and benefit from IntelliWrite.


To schedule for specific non-reoccurring dates and times in the future, select the “Turn Automatic Defragmentation on or off based on specific dates” option. Click any multitude of dates and times using Shift-Select or Ctrl-Select. Once done, click OK to complete.

If you are implementing the above mentioned advanced technologies and your SAN provides hot block optimization / data tiering, it is also recommended to disable I-FAAST® (Intelligent File Access Acceleration Sequencing technology). I-FAAST sequences hot “files” (not blocks) in a Windows volume, after determining hardware performance characteristics. The sequencing process creates additional movement of data for those advanced SAN features, and is therefore generally recommended to disable when similar SAN solutions are in place.


To disable I-FAAST, right click a volume(s) and select the feature.

Note, I-FAAST requires Automatic Defragmentation be enabled. Also note that I-FAAST is disabled by default in Diskeeper 2011 in certain cases. Also note that I-FAAST generates additional disk I/Os and will therefore cause an increase in the aforementioned Automatic Defragmentation side effects.

Once pre-existing fragmentation has been removed, increase the periods in which Diskeeper actively optimizes the Windows file systems. With real-time defragmentation and InvisiTasking® technology, Diskeeper immediately cleans up fragmentation (that is not prevented by IntelliWrite). This minimal ongoing optimization generates only invisible, negligible I/O activity.

New features in Diskeeper 2011 to improve SAN performance:

Diskeeper 2011 introduces SAN specific solutions. These default solutions automate many of the configurations required for SAN-attached servers.

Diskeeper 2011’s new Instant Defrag™ technology dramatically minimizes I/O activity, and exponentially speeds up defragmentation. The Instant Defrag engine is provided fragmentation information, in real-time, by the IntelliWrite file system filter driver (those fragments that it does not prevent). Without the traditional need to run a time and resource intensive whole-volume fragmentation analysis, Instant Defrag can address the recently fragmented files as they occur. This dynamic approach prevents a buildup of fragmentation, which could incur additional I/O overhead to solve at a later date/time.

Diskeeper 2011’s new Efficiency Mode (default) maximizes performance, while minimizing disk I/O activity. By focusing on efficiency and performance and not on presenting a “pretty disk” visual display, Diskeeper 2011 minimizes negative side effects (e.g. reduce snapshot storage requirements or thin LUN growth, etc..) while maximizing performance benefits. It is a SAN-optimized defrag mode and our recommended solution for SAN-attached Windows volumes.

By default, Efficiency Mode also disables proprietary file placement features such as I-FAAST.

Also, by default, Diskeeper 2010/2011 moves data to lower NTFS clusters, and hence generally “forward” on SAN LUNs.

Best Practices Summary:
  • Ensure IntelliWrite is enabled for all volumes.
  • Automatic Defragmentation should be enabled at all times for all direct attached storage volumes.
  • Use Efficiency Mode of Diskeeper 2011.
  • Schedule Automatic Defragmentation on SAN LUNs, based on use of advanced SAN features.
  • Run SAN processes such as space reclamation and/or deduplication on recently defragmented LUNs using advanced SAN features.

Want this in PDF form. Get it here: Best Practices for using Diskeeper on Storage Area Networks.pdf (3.00 mb)

Tags: , , , , ,

Defrag | Diskeeper | SAN

Diskeeper Receives U.S. Army Certificate of Networthiness

by Colleen Toumayan 9. March 2011 04:10

Diskeeper Corporation, Innovators in Performance and Reliability Technologies, announced that its Diskeeper 2010 performance software has received the Certificate of Networthiness (CoN) from the U.S. Army Network Enterprise Technology Command. The Certificate of Networthiness signifies that Diskeeper performance software is configured to the current Army Golden Master baseline and complies with all U.S. Army and Department of Defense (DoD) standards for security, compatibility and sustainability. A CoN is required for all enterprise software products deployed in the Army Enterprise Infrastructure Network and used by the U.S. Army, all National Guard, Army Reserve and DoD organizations that use the Army Enterprise Infrastructure.

Tags:

Defrag | Diskeeper | SAN

RecentComments

Comment RSS

Month List

Calendar

<<  February 2019  >>
MoTuWeThFrSaSu
28293031123
45678910
11121314151617
18192021222324
25262728123
45678910

View posts in large calendar