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.
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.
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.
vscsistats ??
@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.
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.
In the Lab: VMware HCIbench Hands On | StorageReview.com - Storage Reviews
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
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?
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;
Hope this helps?
Cheers,
Jon
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
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.
Thank you for clarification.