How to Test an All-Flash Array

The number of organizations which are deploying All-Flash Arrays (AFA) within their data centers is rapidly increasing. Due to this immense growth, we've seen a tremendous rise in the number of requests for assistance with evaluating AFAs. Testing traditional storage can be difficult, but evaluating flash in inherently more complex. Consider the requirements; flash must be preconditioned prior to testing, multiple hosts are required to generate enough load to saturate the array and the testing tools must be able to assess the data reduction capabilities of the AFA. Fortunately, IDC has developed a comprehensive framework for testing All-Flash Arrays. The framework helps guide storage professionals who are looking to make an educated and informed decision about which flash array is best suited to meet their enterprise needs.


Having a framework is great, but a framework doesn't perform the actual tests. This is where we can help. We've built an All-Flash Array Proof-of-Concept Toolkit (AFA PoC Toolkit) that makes the testing process substantially easier. The toolkit includes an optimized virtual machine template (OVA) that is used to quickly deploy virtual machines. A command VM coordinates the testing while the worker VMs generate the load. There are top level scripts that simplify validating and preparing the environment prior to testing, and a top level script that automates all the steps required to precondition, profile, evaluate steady-state, prepare for snapshot testing and test steady state performance with snapshots. The performance data is automatically analyzed and graphed, which makes it simple to evaluate the array's capabilities and compare it to others. You can learn a bit more about the AFA testing methodology and toolkit in the following two background videos.



AFA PoC Toolkit v3.1 (24SEP2016)

What's new in Version 3.1? - Version 3.1 has been updated to work with the latest version of vdbench, The underlying code allows the selection of specific test phases to run. The available phases are: fill, age, profile, steady, snapprep and snapsteady. For a full list of changes, refer to the AFA PoC v3 Release Notes below.


In addition, a new companion product was developed, X-PoC Rapid Deployment Utility. This utility  automates a large portion of the configuraiton of both the AFA PoC environment and an XtremIO array. Several of the files required to run the PoC will only be created by running the X-PoC utility. The X-PoC utility is the preferred and recommended method for configuring the PoC environment.


Note - currently the X-PoC utility will only configure an XtremIO array. Other arrays may be added in an upcoming release of the X-PoC utility. To request the addition of an array, send an email to or add a comment below. In the interim, a vendor neutral script, the X-RDM utility is available. This script is bundled in the X-PoC Utility Installer (see below). Use this script to map or un-map RDMs from the worker VMs regardless of the storage vendor.


Please download the PoC Toolkit from the links below and give it a try. Additional how-to material is also available. This is the third broad release of the toolkit, and we'll keep improving it based on suggestions and experience. Please use the comments below to share how you used the toolkit, what worked, and what didn't. We're looking forward to hearing from you!


To get started, check out the following resources:

When ready, download the toolkit components:

The root password for the VM's is b3nchm4rk



What is required to run an AFA PoC?

  • ESXi hosts (vCenter preferred)
  • Array vendor best practices applied to hosts and volumes
  • Host to array connectivity (FC or iSCSI)
  • Template VM OVA
Q.What is required to use the X-PoC utility?
  • A Windows PC
  • PowerShell version 4 or 5
  • PowerCLI
  • WinSCP
  • Putty
Q.Does the X-PoC utility deploy the required virtual machines?

The utility does not deploy the virtual machines, however this is planned for a future release?

Q.Can the X-PoC utility configure an array other than XtremIO?

The utility as it currently stands will only configure an XtremIO array. Additional arrays may be added based on the number of requests received and business needs.


What does X-PoC utility do, exactly?

  • Defines the path to
  • Verifies connectivity to the command VM
  • Defines a list of VMs to configure
  • Checks VMs for attached RDMs and (optionally) removes  existing RDMs
  • Queries selected VMs to determine the host
  • Queries the host to identify the initiators
  • Defines the array to be configured
  • Checks  array for existing config data and (optionally) removes configured entities
  • Define the volume naming pattern, whether to include snapshots, number of volumes and array fill percentage
  • Creates array initiator groups, initiators,  volumes and snapshots if selected
  • Maps volumes and snaphots to initiator groups
  • Maps volumes to worker VMs as RDMs
Q.Does the X-PoC utility apply host and volume best practices?
A.The utility does not apply best practices, however this is planned for a future release of the utility. In the meantime, please consult the host configuration guide for best practices for your storage array.


Your opinion is important to us. If you have deployed the AFA PoC, please take a moment to complete the survey. The responses gathered will be used to further enhance the toolkit. Survey link: