Analyze/Replay Captured ESX/ESXi Workload





 When you have captured a vSCSI trace on a ESX/ESXi host (how to capture a vSCSI trace read this) you can import the trace in the VMware I/O Analyzer to analyse the data and replay the recorded workload on a other ESX/ESXi host. To do this follow the steps below.

  • Click on "Browse" on the Upload from Local Disk section and upload your .csv file

  • Click on "Upload Local file"
  • Now go back to the dashboard
  • Go to "workload Configuration"

  •  Now Add your ESX/ESXi host that you want to run the workload on (Enter the hostname or IP address and the Root Password)

  • In the "Add Workload Entry" section select the VM you want to use to replay the captured workload on
  • Select "Trace Replay" as the Test Type

  • Select the right Trace file (the .csv just uploaded)
  • Click on "Add" (You can add multiple Workload Entries and VM's to one single workload config file!)

(If you like you can adjust the Replay Pace, this is the factor that speedup's the replay e.g. factor 2 plays the trace 2X faster, 0.5 plays the trace 2X slower)

  • Now go to the "Workload Configuration" section
  • Enter a "Config Name"
  • Enter the time you would like to run the workload
  • Click on "Save as a New Config"

Now you have uploaded the captured trace and configured a workload configuration you have two options: you can either schedule the workload test or run it immediately.

To run the workload immediately click on "Run Now".

Schedule Workload test

  • To schedule a Workload test in the dashboard go to "Test Scheduler"
  • Select the right "Config Name"
  • Enter the date and time you would like to run the workload test
  • Enter the duration
  • Click on "Schedule Test"

In the Test Manager section you can see any currently running or scheduled workload tests.

When the testrun is completed you can see the details and ouput in the I/O Analyzer Test Results. The output shows IOPS, Read/Write IOPS, MBPS, Read/Write MBPS, CPU details, Network details, Disk statistics and more.


Please feel free to let me know if you thought this post was helpfull by using the contactform.

Capture ESX/ESXi Workload with vSCSI trace

In some situations (for example performance monitoring/testing) it can be helpful to capture a real-time workload on a ESX/ESXi host and simulate the workload on another host. Do simulate this you can use the vSCSI Trace command. In the steps below I will describe how to do this.

To collect a trace from an application's I/O workload using the vscsiStats utility on an ESX/ESXi host.

  • Connect to your "reference" ESX/ESXi host with SSH (can't connect to the host with SSH, check out this KB to start the SSH service on the host, or how to configure SSH see this KB)

  •  Reset the statistics by typing in an ESX/ESXi shell: vscsiStats -r


  •  Start collecting statistics and create a unique ID for them: vscsiStats -s -t -w <worldId> -i <handleId>

    (where <worldId> is the world ID for the virtual machine in which you will be running the workload and <handleId> is the identifier for the specific virtual disk you will be testing).


    NOTE:   You can find <worldId> and <handleId> with the vscsiStats -l command. You can find additional attributes of the vscsiStats utility with the vscsiStats -h command.


  • Using the unique ID generated in the previous step, configure ESX/ESXi to capture the statistics in a disk file: logchannellogger <unique-id> <temporary-file-name>


  • Run your application within the virtual machine identified by <worldId>.

  • After the application run is completed (or the trace collection is over) return to the ESX/ESXi shell and stop the logchannellogger process by typing <Ctrl>-X (or <Ctrl>-C).

  • Stop the statistics collection: vscsiStats -x -w <worldId> -i <handleId>

  • Convert the binary trace file to a .csv file: vscsiStats -e <temporary-file-name> > <trace-file-name.csv> (for example: vscsiStats -e testvm01 > testvm01.csv)

Now you have captured the IO workload in a binary file and converted it to a .csv file. You can extract the .csv from the ESX/ESXi host with for example WinSCP and download it to your desktop.


The captured IO workload (in .csv format) is now ready to be imported in the VMware I/O Analyzer. Check out this post how the VMware I/O Analyzer works.

Please feel free to let me know if you thought this post was helpfull by using the contactform.