There is no question that solving IO performance problems at the source is often one of the most challenging issues to diagnose and resolve in most virtualized environments. Most often, performance issues in the virtualized environment, in general, lead to issues with application performance. This is generally perceived by end users as sluggish application launch times, slow report generation, application hangs, or other unwanted behavior.
In virtualized environments, there is a general effect that happens when running many Windows virtual machines in a virtualized environment – the I/O Blender Effect. What is the I/O Blender Effect and how can it rob your underlying storage environment of valuable performance? Also, how can this undesirable behavior be solved without adding additional hardware?
Overview of Virtualized Systems
With virtualized systems, you have compute, network, and storage like you would in a physical environment. However, as we all know, the purpose of virtualizing servers is to take advantage of the compute performance available to physical systems today. Using virtualization, organizations can truly make use of the processing power of modern physical server systems in a much more efficient way.
When sourcing hardware for virtualized environments, most organizations go through a sizing process where current IOPs are estimated and other performance metrics are determined to create a picture of the required performance in the environment. This is not a perfect science and often, the performance characteristics of virtualized environments will change and even grow over the course of time.
Once applications and workloads outgrow the performance capabilities of the underlying hardware, performance of the applications running on top of workloads in the virtualized environment can begin to show signs of performance degradation. This can be exacerbated by the way Windows workloads behave in the environment.
Historically, Windows workloads do not perform optimally in virtual environments due to certain I/O characteristics. Windows was meant to be run on top of physical hardware and not have an abstraction layer in between. When you couple this with the fact that in virtualized systems, many Windows virtual machines are run on top of the physical hardware, an effect comes to the fore that has been described as the I/O Blender Effect. What is this?
What is the I/O Blender Effect?
As beneficial as virtualized environments are in increasing the efficiencies of the data center in general, it adds complexity on top of the data path for workloads. To maximize the performance of your underlying storage, you want to have a nice, clean data path and I/O characteristics. However, when running Windows workloads on top of virtualized environments, the I/O characteristics are small, fractured, and random. As many Windows VMs are provisioning in the environment, this leads to a “blender” effect of tiny I/O patterns between Windows VMs and storage which robs performance from the storage subsystem.
Ultimately, this leads to application performance suffering. What types of applications are affected by the I/O blender effect? Really, any I/O intensive application can see the hit from this effect due to how it affects storage performance across the board.
Software solutions and applications that tend to be hardest hit are I/O sensitive applications such as Exchange, SharePoint, SQL, BI, VDI, CRM, ERP, image applications, backups, and even file servers. Slow storage performance for these applications may present as sluggish application performance to end users, backups taking too long, SQL queries running slow, or report generation taking longer than expected. Solving IO performance problems at the source can be a difficult and challenging task.
How are storage performance problems typically solved?
Traditionally, in most environments, storage performance problems are seen as outgrowing the capabilities of the underlying storage. Many organizations will look at solving IO performance problems at the source by add hardware to the environment to help resolve storage performance issues. This may involve adding new servers contributing storage or potentially upgrading or adding expensive storage arrays to the mix.
Many companies are now sizing and provisioning all-flash arrays and hybrid arrays that combine flash and traditional spinning disks for helping to alleviate storage I/O bottlenecks and resulting application performance. “Throwing hardware at the problem” has long been the resolution to a number of performance ills across the enterprise. While in many cases adding new and expensive all-flash arrays can alleviate performance problems for a time, it really doesn’t solve the underlying issue – the I/O blender affect.
Additionally, even with expensive all-flash arrays, performance problems can still creep back into the environment as new workloads and applications are added which contribute to the blender effect of small, fractured, and random I/O characteristics that compound over time.
Condusiv DymaxIO solves the underlying I/O Blender Effect
There is a product from a company called Condusiv Technologies that helps to solve the underlying I/O blender effect that robs storage performance in virtualized, cloud, and even physical environments. First who is Condusiv?
From the official company about page:
“Condusiv® Technologies makes software that makes Windows servers faster and more reliable. Condusiv’s software is designed for virtual, cloud, and physical server environments, enabling systems to process more data in less time for faster application performance. With over 100 million licenses sold, Condusiv solutions are used by 90% of the Fortune 1000 and almost three-quarters of the Forbes Global 100 to increase business productivity and reduce costs while extending the life of existing hardware. Key brands include new DymaxIO fast data software, V-locity® I/O reduction software, Diskeeper®, and Undelete® instant file recovery software.
Condusiv was founded in 1981 by Craig Jensen as Diskeeper Corporation. Jensen authored Diskeeper, which became the best-selling defragmentation software of all time. Over 39 years, he has taken the thought leadership in file system management and caching and transformed it into enterprise software.”
Condusiv’s DymaxIO™ product provides a software-only solution to the I/O blender effect problem that helps to solve the issues described above. DymaxIO includes the following two solutions to the problem:
- Windows file system drivers – The Condusiv DymaxIO has a technology that helps to eliminate the small, fractured I/O writes between the VMs and storage. Instead of the small, random I/O between the virtual machine and storage, these operations are delivered as much more efficient contiguous reads and writes.
- DRAM Caching Tier – Condusiv establishes a tier 0 caching strategy using extra unused DRAM that is sitting idle on a system. Condusiv takes idle RAM and provisions this as a caching layer for the quickest access to I/O reads from memory. The nice thing about the Condusiv caching layer is that it is dynamic and doesn’t have to be set aside permanently. The software manages this cache layer. If demand for extra RAM is needed from the operating system or users, Condusiv gives back the memory used in the caching layer. It is preferred to have at least 4 GB of free memory available for Condusiv to use for this purpose.
- For workloads that have even more free RAM available than the 4 GB, performance gains will be even more pronounced
I have been running the Condusiv DymaxIO solution on both my personal work laptop as well as a test server in my environment and the results have been very impressive. One of the nice features of the software is it installs a handy dashboard that shows the I/O operations that have been eliminated in the environment. This includes total I/Os, read I/Os, and write I/Os. Additionally, you get to see the overall storage I/O time saved which helps to underscore the amount of time the solution has saved your workload on total I/O time.
I have seen an improvement in my flash-equipped laptop in general application performance as well as backup times experienced. The device feels snappier and more responsive in general than without the solution in place. The server results have generally been similar.
Wrapping Up and Impressions
Condusiv DymaxIO offers a very compelling solution to the I/O blender effect and the overall impact of running Windows workloads inside virtual or physical machines. Instead of installing new flash arrays that can cost in the six-figures, installing the simple DymaxIO software can help in solving IO performance problems at the source. Fragmented I/O is certainly a real phenomenon that can rob even very performant storage arrays of valuable IOPs overall.
With the DymaxIO software solution, reclaiming 50% or more of your total IOPs capacity, especially if you are running mainly Windows workloads in a virtual environment is a very real outcome of simply installing the solution. The install is painless without even requiring a reboot of the operating system which means you can simply install and you start benefiting from the reduced I/O footprint immediately.