VMware Cloud Community
kendzi87
Enthusiast
Enthusiast
Jump to solution

Command line tool for datastore performance test in ESXi 6

I need to measure performance of datastore created on a specific type of drive.

Can somebody recommend command line tool like FIO or vdbench (I know about vmware-io-analyzer but it cannot be run in ESXi shell)?
Right now I am using IOzone but it seams to be a obsolete (Produces output that covers all tested file operations for record sizes of 4k to 16M for file sizes of 64k to 512M) than  programs i mention earlier.

0 Kudos
1 Solution

Accepted Solutions
MKguy
Virtuoso
Virtuoso
Jump to solution

As you noted there is no such thing and it's not easy to port an existing one over to ESXi, since it's Linux.

But even if there was, don't run benchmarks inside the limited ESXi base OS. You would probably get some very wonky numbers.

As a type-1 Hypervisor, the ESXi userspace shell based on a busybox environment is just a limited interface for management purposes separate from the actual vmkernel. It's limited in terms of resources and IO scheduling.

I know this might seem counter-intuitive at first, but benchmarking from a VM will actually allow you to make use of the full host's capabilities, since that IO really runs in vmkernel space from the host-perspective.

If you still really insist you want to test your hardware from a baremetal point of view, then boot the server into a live Linux of your choice and test there.

-- http://alpacapowered.wordpress.com

View solution in original post

0 Kudos
10 Replies
dmeyner22
Enthusiast
Enthusiast
Jump to solution

You can use esxtop from an SSH session of the host.

run esxtop, press U and F to specify which statistics you want to use.

0 Kudos
thibaudpeter
Enthusiast
Enthusiast
Jump to solution

vscsistats ??

0 Kudos
kendzi87
Enthusiast
Enthusiast
Jump to solution

@dmeyner22dmeyner22 this program only monitor  system. I need something that is able to generate test IO.

@thibaudpeterthibaudpeterthibaudpeter This only test virtual machine disks not datastore directly.

0 Kudos
MBrownWFP
Enthusiast
Enthusiast
Jump to solution

What is the storage infrastructure?

Have you looked at HCIBench? It is not CLI-based but does handle deployment of worker VMs to generate workload and can be pointed at a particular datastore.

HCIBench

In the Lab: VMware HCIbench Hands On | StorageReview.com - Storage Reviews

0 Kudos
jrmunday
Commander
Commander
Jump to solution

Use IOmeter, it's very powerful and you can chart the results in Excel afterwards - similar to what I did here;

http://www.jonmunday.net/2014/04/07/emc-symmetrix-vmax-40k-testing-on-vsphere-5-0/

Cheers,

Jon

vExpert 2014 - 2022 | VCP6-DCV | http://www.jonmunday.net | @JonMunday77
0 Kudos
kendzi87
Enthusiast
Enthusiast
Jump to solution

MBrownWFP - my infrastructure is very simple. Main goal is to test performance of storage device on ESXi. Your propose looks promising iI am currently looking into it.


jrmundayjrmunday - you mean I can run IOmeter directly from ESXi cli? I tried that and I fail, how you did you ran it?

0 Kudos
jrmunday
Commander
Commander
Jump to solution

Sorry, I should have been more explicit ... this is not a command line tool, but does exactly what you need it to do;

Very rough process;

  1. Present the storage to you ESXi host
  2. Deploy a Windows VM onto the ESXi host
  3. Add a virtual disk to the VM - use the datastore that you are benchmarking
  4. Configure IOmeter based on your workload requirements
  5. Save results to CSV
  6. Use Excel to chart the results

Hope this helps?

Cheers,

Jon

vExpert 2014 - 2022 | VCP6-DCV | http://www.jonmunday.net | @JonMunday77
0 Kudos
kendzi87
Enthusiast
Enthusiast
Jump to solution

Ok, so in that case I am already using vmware-io-analyzer (which is VM with IOMeter) but i am looking for tool like IOzone (which I am using right now)  that have capabilities like FIO/IOMeter/vdBench and can be run directly in ESXi command line. I am aware that maybe such thing don't exist yet

0 Kudos
MKguy
Virtuoso
Virtuoso
Jump to solution

As you noted there is no such thing and it's not easy to port an existing one over to ESXi, since it's Linux.

But even if there was, don't run benchmarks inside the limited ESXi base OS. You would probably get some very wonky numbers.

As a type-1 Hypervisor, the ESXi userspace shell based on a busybox environment is just a limited interface for management purposes separate from the actual vmkernel. It's limited in terms of resources and IO scheduling.

I know this might seem counter-intuitive at first, but benchmarking from a VM will actually allow you to make use of the full host's capabilities, since that IO really runs in vmkernel space from the host-perspective.

If you still really insist you want to test your hardware from a baremetal point of view, then boot the server into a live Linux of your choice and test there.

-- http://alpacapowered.wordpress.com
0 Kudos
kendzi87
Enthusiast
Enthusiast
Jump to solution

Thank you for clarification.

0 Kudos