Workload Tests Concepts

For storage protocols, a workload is comprised of the storage I/O requests made by applications or host systems against the storage infrastructure. When these requests are analyzed in terms of IOPs, read or write percentages, sequential or random behavior, and block size distribution, their characteristics can be used as the basis for modeling that workload. The resulting model can be used to simulate the workload to support numerous activities across the storage lifecycle development, pre-production or production uses like testing, technology or design evaluation, capacity planning, performance analysis and optimization.

A workload test is a configured instance of a workload that is ready to run to produce test results. Consequently, an executing or executed instance of a workload test is a workload test run.

WorkloadWisdom supports different types of workload tests to support different use cases. The classification of the workload tests is illustrated and described below. Understanding the category of a workload model helps understand the similarities and differences between different workload models’ design functionalities, and when to use what.

2019-11-18_12-06-01.png
  • Protocol Workloads. Out-of-the-box protocol workload models for key file, block and object protocols that make it easy to create and model storage workloads specific to your environment or applications. A protocol workload is not based on any specific application, but a template of protocol parameters and I/O characterization settings. This enables you to simulate an application workload as it would be observed on the wire. In a protocol workload model, key workload parameters can be varied such as % of read vs % of writes, % random vs % sequential, distribution of file or block sizes, and so forth. Several types of protocol workloads are available:

    • High Fidelity Workloads. Constant workloads that do not vary the amount of generated Load over time. “Load” in this context can be specified in terms of Throughput or IOPS. They are recommended for use cases where changes are made to the environment (such as introducing a failure or turning on backups). Because the workload is constant it is easier to measure the impact of the changes in the environment. They are also good tests to run for long periods of time at a high workload to ascertain if performance degrades over time.

    • HotSpot Workloads. Constant workloads that provide the ability to specify the locality and drift of IOs throughout the workload test run.

      Notice

      HotSpot Workloads will be not be further enhanced going forward, and will likely be deprecated in upcoming releases.

    • Example Workloads. Constant workloads with pre-defined protocol parameters and I/O characterization, based on a specific instance of a specific application in a specific deployment. The source of the pre-defined protocol parameters and I/O characterization is provided for each example workload. Example workloads are recommended if you do not have data about the production workloads that you want to model and you want some examples to start with.

    • Temporal Workloads. Protocol workloads that change their behavior over time. They represent the most realistic behavior and can be useful for assessing impacts of bursts or changes in workload behavior impact to performance.

    • Replay Workloads. Protocol workloads that replays the exact command sequence as recorded in the supported source files that provide per command sequences.

  • Application Workloads. WorkloadWisdom also provides several highly intuitive application workloads out of the box, implemented based on specific applications analyzed by Virtana. Application workloads differ from protocol workloads in that application workloads provide parameters that are specific to the application, such as Number of VMs and Linked Clone Size for VDI application workloads, instead of protocol parameters such as % of read vs % of writes in the case of protocol workloads. In addition, Application Workloads may also vary certain aspects of load over time based on user inputs on application behavior over time, but not directly control exactly how that load varies over time. Application workloads are recommended for those who are familiar with the specific application they want to model, and who want to do so using parameters specific to that application.

  • Composite Workloads. Special category of workload test that enables multiple existing protocol workload tests to be combined into one, such that each individual Protocol workload test carries its own unique IO profiles as opposed to aggregating or averaging the IO profiles into one. Composite workloads are very useful in realistically simulating modern applications in which they tend to have multiple concurrent processes, and each process can have unique IO patterns.

  • Custom Workloads.

    • TDE Workloads. Specific protocol workload models or application workloads are not provided, although Workload Generators support the protocol. An existing test, authored in the Virtual Instruments Test Development Environment (TDE) can be imported and run in WorkloadWisdom. TDE workloads are recommended for those who are storage protocol experts, and who have a strong need to create completely customized workloads that are not provided by WorkloadWisdom.