Tips and tricks for using diskspd especially useful for those familar with tools like fio
How to ensure performance testing with diskspd is stressing the underlying storage devices, not the OS filesystem.
How to install and setup diskspd before starting your first performance tests and avoiding wrong results due to null byte issues.
First things First Why do we tend to use 1MB IO sizes for throughput benchmarking? To achieve the maximum throughput on a storage device, we will usually use a large IO size to maximize the amount of data is transferred per IO request. The idea is to make the ratio of data-transfers to IO requests […]
The real-world achievable SSD performance will vary depending on factors like IO size, queue depth and even CPU clock speed. It’s useful to know what the SSD is capable of delivering in the actual environment in which it’s used. I always start by looking at the performance claimed by the manufacturer. I use these figures […]
Storage bus speeds with example storage endpoints. Bus Lanes End-Point Theoretical Bandwidth (MB/s) Note SAS-3 1 HBA <-> Single SATA Drive 600 SAS3<->SATA 6Gbit SAS-3 1 HBA <-> Single SAS Drive 1200 SAS3<->SAS3 12Gbit SAS-3 4 HBA <-> SAS/SATA Fanout 4800 4 Lane HBA to Breakout (6 SSD) SAS-3 8 HBA <-> SAS/SATA Fanout 8400 […]
Today I used fio to create some compressible data to test on my Nutanix nodes. I ended up using the following fio params to get what I wanted. buffer_compress_percentage=50 refill_buffers buffer_pattern=0xdeadbeef buffer_compress_percentage does what you’d expect and specifies how compressible the data is refill_buffers Is required to make the above compress percentage do what you’d […]
Simple fio file for using Drive letters on Windows. This will create a file called “fiofile” on the F:\ Drive in Windows. Notice that the specification is “Driveletter” “Backslash” “Colon” “Filename” In fio terms we are “escaping” the “:” which fio traditionally uses as a file separator. [global] bs=1024k size=1G time_based runtime=30 rw=read direct=1 iodepth=8 […]
Recently I found that vdbench was not giving me the amount of outstanding IO that I had intended to configure by using the “threads=N” parameter. It turned out that with Linux, most of the filesystems (ext2, ext3 and ext4) do not support concurrent directIO, although they do support directIO. This was a bit of a […]
The question of why Nutanix uses SATA drive comes up sometimes, especially from customers who have experienced very poor performance using SATA on traditional arrays. I can understand this anxiety. In my time at NetApp we exclusively used SAS or FC-AL drives in performance test work. At the time there was a huge difference in performance between […]
If your underlying filesystem/devices have different response times (e.g. some devices are cached – or are on SSD) and others are on spinning disk, then the behavior of fio can be quite different depending on how the fio config file is specified. Typically there are two approaches 1) Have a single “job” that has multiple […]