This paper describes how to use the Iometer workload tool to generate a read-intensive I/O workload for demonstrating the capabilities of the FlashSoft® software, version 3.7 in a Windows Virtual Machine with VMware vSphere® 5.5.
This white paper is intended for VMware vSphere or Storage Administrators who want to demonstrate the benefits of I/O acceleration with FlashSoft software using the Iometer I/O workload tool.
The FlashSoft software from SanDisk® can be used to increase the read performance of a production workload, such as a database application, running in a virtual machine (VM). It is not always practical or possible to test FlashSoft with actual production workloads to demonstrate the benefits of caching shared storage. For a variety of reasons, simulating a production workload in a test environment is a good method to achieve those results. Simulated workloads can quickly demonstrate the benefits of FlashSoft and immediately show that the solution is working, before applying it to a production workload.
Baseline tests form a very important part of performance testing, as they create the starting point for comparison. Baseline testing shows the solution performance before changing the environment. When baseline tests use a simulated workload, there is greater control and inherent repeatability. Repeatable baseline performance tests ensure that the performance results are accurate and valid before any of the variables are changed.
It is important that the baseline performance test is conducted on the same hardware and software configuration that will be used for the FlashSoft performance test. This allows accurate results to be recorded before and after caching is enabled, for any of the I/O workloads under test. It’s recommended that baseline tests be run for 30 minutes or more so the sample time is long enough to gather realistic, steady-state statistics. As with all performance testing, proper monitoring should be done while the baseline tests execute, and results should be reviewed after the tests complete. Once a baseline has been established and the results have been recorded, the next step is to test the same workloads on virtual machines running on a host that is accelerated through use of the FlashSoft software to compare the performance with and without caching.
If there is sufficient time, consider using more than one test tool in order to get useful steady-state averages. It’s generally not a good idea to rely on just one tool to provide accurate performance measurements, due to differences and overall test results.
For testing performance, it is suggested that you use FlashSoft with default settings. If the performance is not satisfactory, then make configuration changes. For those environments where production applications cannot be loaded onto test systems, the following applications can be used to simulate a production workload:
If you are using Fusion ioMemory™ flash, install the VSL® Software for ESXi first. The VSL driver presents a raw device to the ESXi host for use by FlashSoft as the cache device. After installing the Fusion ioMemory device into the appropriate PCIe slot, install the VSL driver with esxcli software vib install with the ESXi host command line tool as shown in the example output below.
# esxcli software vib install -v /vmfs/volumes/bcdemo1-local3/Fusion-io_bootbank_block-iomemory-vsl_188.8.131.52-1OEM.500.0.0.472560.vib
The above is a brief description of the driver installation process, and there may be other required steps depending on environmental factors. See the VSL Software Guide for ESXi for detailed installation instructions.
SanDisk SAS and SATA SSDs are discovered automatically by ESXi, so no additional driver installation is required. Once the local flash devices are discovered in ESXi, they are ready to use for caching. Flash devices from other vendors, including NVMe PCIe and AHCI PCIe devices may also be used to evaluate FlashSoft performance.
To perform testing with VMware vSphere 5.5, install FlashSoft version 3.7 for VMware vSphere. The FlashSoft software has two components that require installation: a client plugin that is installed on the system with the vSphere client, and an ESXi host driver. For performance testing, it’s recommended that you install FlashSoft with default settings. This will cache and accelerate all VMware virtual disk files (VMDKs) that are Windows volumes for the VM. See the FlashSoft Administrator Guide for installation details.
The Windows version of the Iometer tool is available for download from http://www.iometer.org. In addition to the installer and prebuilt binaries, the site also includes documentation on using the tool. Download the Iometer product to your Windows VM and double-click the package to install.
The following example demonstrates how to configure Iometer and FlashSoft to show the maximum number of read I/Os per second (IOPS). With Windows Server, it’s best to avoid using the boot volume (typically C:) as the volume under test. Instead, use a data volume such as J:.
For best results, configure the VM with four vCPUs. This will allow each of the four I/O threads in the example to own a vCPU.
After the environment is setup, the first step should be to create a baseline for the environment, by running the Iometer I/O workload tool on worker threads to get a baseline result on a non-accelerated VM. After repeatable baseline tests are completed, use the FlashSoft software to begin acceleration and conduct the same target workloads to observe the benefits. The example will walk you through these steps.
Example: Configuring Iometer to Generate Maximum Read IOPS
Demonstrating maximum read IOPS with the Iometer tool is a matter of correctly configuring the Iometer tool. This is done by setting parameters in three Iometer tabs; Disk Targets, Access Specification, and Results Display. The following sections provide details on configuring the Iometer tool.
Editing the Disk Targets Tab
Set the following values in the Disk Targets tab.
Figure 1. Disk Targets tab in Iometer
Using the Access Specifications Tab
Create a new Global Access Specification called “100% Read 100% Random.” This will open the Edit Access Specification dialog. The values for this Access Specification are detailed in the next section.
Figure 2. Access Specifications Tab in Iometer
Editing the Access Specification Dialog
Set the following values in the Edit Access Specification tab:
Figure 3. Access Specifications tab
Editing the Test Setup Tab
Leave the default values in the Test Setup tab.
Figure 4. Test Setup tab
Editing the Results Display Tab
Set the following values in the Results Display tab to view real time statistics during the test.
Figure 5. Results Display tab
Perform the first test runs with the FlashSoft acceleration turned off in order to create baseline test results for your system. FlashSoft acceleration is started and stopped in the FlashSoft Configuration Tab located in the vCenter client. If you have already enabled the cache for acceleration, return to the Configuration Tab and click Stop Acceleration. See Figure 6 below for details.
Start the Iometer test by clicking the Green Flag icon in the top of the results tab screen in the Iometer GUI. Before the tool generates a workload, the tool will first build a target file on the drive letter you selected in the Disk Targets tab. When this task has completed, the worker(s) will start and run the workload against the target file.
Start FlashSoft Volume caching for the VM and re-run the Iometer test. This will demonstrate the increased performance that the FlashSoft caching product provides. Notice that the cache takes time to warm up, so your test results will increase over time. Be sure to run the test for 30 minutes or even longer. We have observed caching performance results that continue to increase even after several hours of testing.
Creating the Baseline for the Iometer Test Environment
To create baseline test results for your system, you need to perform the first test runs with the FlashSoft cache stopped.
Figure 6. FlashSoft Tab in vSphere C# Client
Starting I/O Acceleration and Warming the Cache
Here are some suggestions for additional testing. All these variations can be done easily using the Iometer GUI.
Figure 7. FlashSoft host performance in vSphere client
The FlashSoft client plugin includes graphs and data that can be used to view cache performance for each ESXi host. Below is a sample screenshot and a brief explanation.
Performance data can also be observed at the ESXi host command line, using the following command:
# esxcli fsc cache stats | grep metric_name
readTotal‐ Total number of read requests for all accelerated VMs on the host
writeTotal‐ Total number of write requests for all accelerated VMs on the host
readHit‐ Number of read requests satisfied from the cache for all accelerated VMs on the host
readMiss‐ Number of read requests satisfied from back‐end storage for all accelerated VMs on the host
readHitSec‐ Cumulative size of all requests satisfied from the cache for all accelerated VMs on the host. This value is expressed in the number of 512‐byte sectors.
The Utilization section of the screen provides information about the efficiency of FlashSoft acceleration for the selected VM. The statistics display VM I/Os since the VM was last started or accelerated, whichever is latest. It shows cumulative stats for all VDISKs currently associated with the VM (K indicates thousands, M indicates millions). To update the display, click Refresh at the top-right corner of the panel.
FlashSoft performance data can be also obtained per VM by running the following command on the host:
esxcli fsc vm vmstats -v vmx_file_path_name | grep metric_name
vmx_file_path_name is the full path name of the VM configuration file (.vmx) on the host, and the
metric_name indicates the following:
totalReads‐ Total number of read requests for the accelerated VM
totalWrites‐ Total number of write requests for the accelerated VM
totalReadHits‐ Number of read requests satisfied from SSD cache for the accelerated VM
totalReadMiss‐ Number of read requests satisfied from back‐end storage for the accelerated VM
There are a number of tools and applications available to monitor performance results, beyond what the performance test tool provides. SanDisk does not support these monitoring tools, so the tester should be well- versed in the tools listed here.
Viewing Performance Results in Windows Perfmon
Disk Performance Counters can be viewed and graphed in the Windows perfmon.exe tool. Perfmon is highly customizable, with many different categories of counters. For disks, there are three general areas to measure: latency, IOPS and throughput. It is best to open Perfmon in the MMC.exe framework, as this allows you to save the Perfmon configuration data and settings. By itself, Perfmon does not allow you to save configuration data and settings. For details, see Microsoft documentation. A good place to start is the Getting Started Guide at https://technet.microsoft.com/enus/library/dd744567%28v=ws.10%29.aspx?f=255&MSPPError=-2147217396
When used properly, Iometer can be used to demonstrate FlashSoft I/O acceleration benefits. This paper describes the techniques and usage of Iometer workloads to showcase FlashSoft acceleration benefits, using a practical example.
Whether you'd like to ask a few initial questions or are ready to discuss a SanDisk solution tailored to your organizations's needs, the SanDisk sales team is standing by to help.
We're happy to answer your questions, so please fill out the form below so we can get started. If you need to talk to the sales team immediately, please phone: 800.578.6007
Thank you. We have received your request.