I am looking to interpret the IOPS from a few runs of bonnie++ using iostat simultaneously and using the benchmarking from this post: Can I determine IOPS on a disk array using bonnie++?

bonnie++ run:

/usr/sbin/bonnie++ -d /data -s 128754 -u root:root -qfb

2x memory on the /data filesystem. This system is very fast, with SSDs in a raid6 Array.

Bonnie++ random seeks show 657.9 seeks per second:

Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
splunk6-w2- 128754M           695761  97 480604  70           1407252  88 657.9 110
Latency                       32464us   94804us             16869us    7398us
Version  1.96       ------Sequential Create------ --------Random Create--------
splunk6-w2-inf      -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16  8057  18 +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++
Latency               154us     355us     356us     154us      10us      60us

I was running iostat at the same time bonnie++ was generating its test files and tps results are really high:

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
dm-2            292.61      1847.92      2282.89  928897994 1147544976

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.13    0.00    3.73    0.00    0.00   96.15

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
dm-2          41035.00         8.00    328272.00          8     328272

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.06    0.00    6.31    0.00    0.00   93.62

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
dm-2          225280.00         0.00   1802240.00          0    1802240

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.13    0.00    7.09    0.44    0.00   92.35

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
dm-2          251050.00         0.00   2008392.00          0    2008392

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.09    0.00    9.41    0.00    0.00   90.50

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
dm-2          277187.00         8.00   2217488.00          8    2217488

I would expect the Bonnie++ stats to be higher: I've tested on older machines showing higher random seeks. What's the best representation of IOPS based on these stats, or should I gather them another way? Since those are the tools I have available, I am currently focusing on iostat and bonnie++.


  • Are you using mdraid, or hardware RAID? What chunk size? What fs? Did you tune the fs in any way to suit your raid/ssd setup? Asking, because bonnie does not just measure IOPS of the storage, but rather performance of the whole stack. Including fs. – Fox May 8 '15 at 9:10

What are you expecting? Your results look fine. The tps figure is what you should be monitoring if you're specifically trying to determine IOPS. But are you just benchmarking for benchmarking's sake?

The best measure of something like this is a real application or a realistic usage scenario.

  • 2
    I was not sure what to expect as were migrating Splunk indexers to this new server build with SSD's. That's our next step is to measure indexing rate with a barebones Splunk install, but i wanted to get a general IOPS range...just surprised the TPS value is so high. – sonicz Feb 25 '14 at 21:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.