Share via


SQLIOSim is "NOT" an I/O Performance Tuning Tool

This blog post is to again inform you "NOT" to consider SQLIOSim as an I/O performance evaluation tool!   Every other month or so I get a rash of questions about using SQLIOSim to validate I/O performance and I have to repeat the same information.

As I have stated in other posts and documents SQLIOSim and SQLIOStress were designed to test the I/O stability not performance characteristics.   SQLIOSim specifically includes random patterns as various stages of testing that will invalidate any performance comparison attempts.  This even includes one SQLIOSim run to another.

SQLIOSim also includes segments of unbounded I/O attempting to to push memory and various queues to extreme depths.   This too invalidates performance comparisons.

Don't consider SQLIOSim for performance benchmarking, instead use SQLIO Disk Subsystem Benchmark Tool: https://www.microsoft.com/downloads/details.aspx?familyid=9A8B005B-84E4-4F24-8D65-CB53442D9E19&displaylang=en 

Bob Dorr
Senior SQL Server Escalation Engineer

Comments

  • Anonymous
    April 04, 2008
    Hi Bob, SQLIO Disk Subsystem Benchmark Tool is such a great tool. In fact I was looking for this kind of tool for a while. Do you have plans to release it for x64 and IA64 so I can take benchmarks on my new highend servers? Thanks and regards, JPolisel

  • Anonymous
    April 10, 2008
    SQLIO and SQLIOSim are owned by the SQL Server development team and I don't know the status of X64 or IA64.   For X64 you can run in the WOW and it is a valid test.   X64 supports 4K OS pages so actions such as scatter/gather I/O are safe from the WOW.   This is not the case from IA64.

  • Anonymous
    December 19, 2008
    This is an extension to by previous post about SQLIOSim data integrity testing. http://blogs.msdn.com/psssql/archive/2008/03/05/how-it-works-sqliosim-checksums.aspx

  • Anonymous
    January 28, 2010
    So when a new server that will eventually be running SQL Server and there needs to be validation of how well its disk subsystem will handle a lot of activity.   My assumption has been that SQLIOSim is the correct tool to make this assessment.   True or false?

  • Anonymous
    June 29, 2010
    I kind of see what you are getting at (even though your use of quotation marks around the word "NOT" somewhat undermines the clarity of your message), still I wonder how what you are saying here goes together with the information you are quoted as having given in this posting on SQLIOSim: sqlblog.com/.../understanding-sqliosim-output.aspx. In that posting, you mention clear cut threshold values like "Running Average IO Duration (ms), Low values are good [...] [Bob Dorr] [...] ideal I/O is 4-8ms, anything higher is not a preferred outcome". Sounds like performance testing to me... I understand that these are internal tools and you have no obligation to give any support to anyone, but still I wonder how these two postings fit together.

  • Anonymous
    September 21, 2011
    The comment has been removed

  • Anonymous
    September 26, 2011
    I am glad that I saw this post ..Thanks bob

  • Anonymous
    July 03, 2012
    If SQLIOSIM is not intended to do performance benchmarking, why do the tool reports IO taking longer than 15 seconds..

  • Anonymous
    March 22, 2014
    When we say " place Data file and log file in separate disk/drive, that means Separate hard disk or same Hard disk but different drive . say  Data file in d drive and log in e drive on same machine? Please elaborate a little bit more