Patent ID: 9158461
Filing Date: 2015-10-13
Classification: G06F

Abstract:
1. A method of testing performance of a storage subsystem, the method comprising: receiving, by a driver running on a host system comprising computer hardware, a first command message from a host system application running on the host system, the first command message comprising instructions to generate a plurality of storage access commands including a first storage access command and a second storage access command, wherein the first storage access command and the second storage access command are not received separately at the driver from the host system application; generating, by the driver, the plurality of storage access commands according to the instructions of the first command message; communicating, by the driver, the plurality of storage access commands to a storage subsystem thereby causing the storage subsystem to execute the plurality of storage access commands; receiving, by the driver, from the storage subsystem a plurality of execution results associated with execution of the plurality of storage access commands by the storage subsystem; determining, by the driver, a total execution time of the plurality of storage access commands by the storage subsystem based at least in part on when the plurality of storage access commands are communicated by the driver to the storage subsystem and when the plurality of execution results are available from the storage subsystem; communicating, by the driver, the total execution time to the host system application causing the host system application to determine a number of input/output commands per unit of time for the storage subsystem for executing at least the plurality of storage access commands, wherein the number of input/output commands per unit of time incorporates a communication time associated with receiving at the driver the first command message from the host system application and does not incorporate a communication time associated with separately receiving at the driver the first storage access command and the second storage access command from the host system application; and prior to receiving, by the driver, from the storage subsystem all of the plurality of execution results, communicating, by the driver, to the host system application a partial execution time reflecting a time for the storage subsystem to execute a subset of the plurality of storage access commands communicated by the driver to the storage subsystem, causing the host system application to determine an estimate of the number of input/output commands per unit of time for the storage subsystem.