- Azure Automanage: Configuring Azure VMs according to best practices - Mon, Nov 23 2020
- Configuring vSphere with Tanzu HAProxy VM - Fri, Nov 20 2020
- AdRem Software NetCrunch v11: Compelling monitoring solution with new features - Tue, Nov 17 2020
If you have administered any number of systems for any period of time, you will readily agree that performance issues can be some of the most challenging to narrow down and resolve. This is especially true when it comes to virtualized environments.
In virtualized solutions, many abstractions take place that can certainly have a negative impact on performance. One of these abstractions is storage. The disk I/O path increases in virtualization environments, often leading to degraded performance.
So, let's look at V-locity I/O reduction software from Condusiv Technologies and see how it can help increase performance exponentially in virtualized environments by eliminating I/O inefficiencies.
Overview of V-locity I/O transformation software ^
To begin with, let's explore an overview of V-locity to see how it works and how it can increase the storage performance of the virtual machines (VMs) in your environment. First, what problem is it trying to solve?
The downside to virtualization is that it adds complexity to the data path, otherwise known as the "I/O blender effect." This mixes and randomizes I/O streams. Windows also does not do well, storage performance-wise, in virtualized environments. Windows default file I/O behavior leads to "extra" small writes and reads that degrade application performance.
Due to amplified I/O in many virtualized environments, Windows systems may process about 50% slower since they need more I/O to process a given workload. Many organizations may choose to throw faster and more expensive hardware at the problem. However, what if you could make the I/O stream much more efficient from the Windows VMs?
Condusiv V-locity I/O transformation software eliminates small random writes by replacing them with large, clean, contiguous writes. This means more payload delivery with every I/O operation and less I/Os.
Condusiv offers an additional benefit by establishing a caching tier that serves out "hot" reads from normally unused memory sitting idle. Condusiv advertises that a typical customer sees a 50% increase in performance, and some even see more performance gains in the neighborhood of 2X–4X gains depending on the hardware and the workloads.
V-locity is both hypervisor and storage agnostic and is compatible with any system able to host Windows VMs. This includes the following hypervisors: VMware ESXi, Hyper-V, and Xen systems using storage area networks (SANs) or network-attached storage (NAS). It also supports hyperconverged storage, local storage, and cloud storage housed in Azure or Amazon Web Services (AWS).
What is the I/O blender effect? ^
Let's nail down a bit further what the "I/O blender effect" is exactly. In virtualized environments where you have many VMs often connected to a single storage array or logical unit number (LUN), the I/O blender effect occurs when multiple VMs send I/O to the storage layer at the same time. Normal I/O operations become randomized, which can increase latency in the storage system.
With today's multicore, multithreaded workloads coming from multiple hosts, the storage array does not simply see the number of workloads represented by a single host but rather dozens and dozens of workloads. This conveys a huge mass of randomized I/O that the underlying storage must handle.
What this boils down to is the net effect on your storage results in degraded performance across the board. The end result for many organizations is spending more money on storage hardware to increase the underlying storage performance to mask the I/O blender effect. Other solutions, including flash or hybrid arrays, may have a tiered layer as a write buffer. In the case of a hybrid solution, it then de-stages writes to a spinning disk.
Solving the problem with new hardware or a different kind of storage technology may work; however, this not an easy or inexpensive way to deal with the problem, and does not solve the root cause of the problem.
How V-locity mitigates the I/O blender effect ^
V-locity contains very small and thin file system drivers you install inside the guest Windows VM or even a physical server. As file I/O processes run inside the Windows operating system, it optimizes the I/O process automatically. V-locity's file system drivers does this with minimal overhead and by running transparently as a nondisruptive background process.
The key components of V-locity comprise the following proprietary technologies:
- IntelliWrite®: This is V-locity's write I/O optimization technology. By default, Windows always grabs the next available address at the logical disk layer when performing disk I/O. This results in very inefficient file operations. With the IntelliWrite technology, V-locity prevents very small and fractured file I/O by managing the file-size intelligence within Windows. It provides this intelligence back to Windows to help it make the best decision as to how to allocate at the logical disk layer when writing files. The IntelliWrite technology enables large, clean, and contiguous file writes and subsequent reads that perform much better than I/O operations containing small and numerous writes. With the IntelliWrite technology, V-locity helps reduce the I/O operations per second (IOPS) processed between your VMs, hypervisor, and storage layers as there are now less I/Os to process. This helps mitigate the "I/O blender effect."
- IntelliMemory®: This is V-locity's read I/O optimization engine. The IntelliMemory technology dynamically uses random-access memory (DRAM) at the server side to cache read I/Os to dramatically reduce latency times. It includes a behavioral analytics engine that collects usage data and I/O characteristics across the various data points. DRAM is the fastest-performing storage available. By using this storage medium for read cache hits, V-locity complements the I/O advantages IntelliWrite provides for writes.
- InvisiTasking®: Another patented V-locity technology, this gives V-locity the CPU and memory cycles it needs in the background. This means it doesn't rob any resources from production workloads as it only uses CPU cycles and memory resources that are idle. If production workloads need these resources, it releases them instantly to your workloads without any overhead.
- CogniSAN™ and V-Aware®: These components of the InvisiTasking technology ensure that V-locity avoids creating any additional I/O operations that might interfere with other production workloads. This comes into play with SANs and hypervisor-managed storage running multiple VMs.
- Benefit Dashboard: The benefit dashboard is a local web interface that allows easily seeing the "time saved" from the reduction in I/O operations.
Installing V-locity. ^
To install V-locity, it is a simple installation process with only a handful of clicks to the Finish button.
- The installation size for the V-locity v7 is 4 MB.
- Also, extremely beneficial with v7, the installation of the V-locity does not require a reboot. This means that on your business-critical servers, you can simply install it without disrupting your production environment, and the solution starts working immediately.
After you install V-locity on the target Windows Server, you will be able to access the statistics of V-locity-saved I/Os via a specialized web application used to display statistics.
Below, after synthetically generating disk I/O activity on my Windows VM, the saved file I/Os statistics were pretty dramatic. As you can see in my case, the file activity was definitely heavier on the reads. However, writes also benefited, and V-locity also eliminated and prevented fragments.
The I/O Performance tab gives you a detailed look at the total workload as well as overall IOPS, MBs per second, latency, read/write percentage, and also memory usage (including cache) to serve out the data.
Installing the V-locity management console ^
V-locity can run stand-alone on each of your Windows systems. If you are deploying and managing V-locity on multiple systems, the V-locity Management Console (VMC) provides a single pane to easily deploy and manage V-locity across your network.
Note: You cannot install both the V‑locity and V-locity Management Console on the same server. It is recommended to run the V-locity Management Console on its own dedicated system.
The V-locity management console lets you query the statistics of your Windows Servers running the V-locity in your environment so you do not have to visit each server to query the I/O operation statistics manually.
Installing the V-locity management console is only a bit more involved than installing the software itself. When installing the management console, you configure the following additional settings:
- Credentials used to query Active Directory
- Organizational unit (OU) search path if you want to filter your search for V-locity enabled servers
Finishing the installation of the V-locity management console
Below is a screenshot from the V-locity management console. As you can see, I have the V-locity test machine added to the V-locity management console. You can pull statistics from your V-locity-enabled servers right from the management console and view them in a single pane. This includes information such as the total I/Os eliminated, Workload, Memory and more, all in a summary view of all V-locity deployments.
You can also perform a number of actions from the V-locity management console, such as adding systems to a new group, deploying V-locity, upgrading V-locity, applying a configuration policy, and even uninstalling.
Wrapping up and impressions ^
I find the V-locity solution an extremely vital and appealing tool for use in the enterprise datacenter. The value proposition here certainly aims increasing application performance, while also at extending your useful hardware life.
With what I saw in my very limited time testing the product, it does what it says it can do. It streamlines I/Os and makes the interaction with your storage subsystem much more efficient. Storage arrays and certainly all-flash storage arrays are not cheap. Instead of throwing hardware at performance problems as a solution, V-locity lets you gain performance in software by making your Windows Servers much more efficient.
I also think there could certainly be value here with edge use cases by allowing the use of much lower-cost storage arrays or disk specifications. Mixing in V-locity on top of the configuration could allow much more efficient storage I/O operations to support lower-spec'ed hardware in these use cases. Even with new hardware like all-flash storage arrays, V-locity will ensure you are getting the optimal performance of it.
With the current pandemic and work-from-home situations, organizations may need to deploy virtual desktop infrastructure (VDI) on top of hardware that lacks the headroom for VDI workloads. Layering V-locity on top of the existing hardware can drastically improve performance.
V-locity licensing seems reasonable, although it is unclear to me if the quantity price on the site is per host, per VM, or per core? Correlating this with CDW, I did find current per-host with unlimited VM licensing here.
It's also worth noting Condusiv has best practices for best results:
- For best results, if there is no available memory, add additional memory and give the software 24-hours for algorithms to adjust.
- After a few days in production, open the V-locity dashboard to view results. If fewer than 50% of I/O traffic is offloaded from storage, just add more memory to see those numbers rise and watch performance problems disappear.3. If testing on MS-SQL, add up to 16GB of DRAM for blazing results then cap SQL memory usage leaving the additional memory leftover for the OS and V-locity. If no additional memory is available, cap SQL memory usage leaving at least 8GB for the OS and V-locity.4. Optimum results will not be achieved unless (1) systems have adequate memory and (2) the software is installed on each VM on the same host. Although it is not required to install on each VM of a host, it is highly recommended. Since each Windows VM generates a minimum of 30-40% unnecessary I/O traffic, it is imperative to install V-locity on all the VMs on the same host.
- If installing on 10+ servers, Condusiv will give you the centralized management console to push V-locity to as many servers as desired by emailing them at email@example.com.
All in all, I think this is a slick product worthy of the attention of many organizations that may be struggling with older storage hardware or storage performance issues due to amplified I/O operations in a virtualized environment.
Be sure to check out Condusiv's V-locity free trial version download here.