Giter VIP home page Giter VIP logo

storscore's Introduction

StorScore: A test framework to evaluate SSDs and HDDs.

StorScore is a component-level evaluation tool for testing storage devices. When run with default settings it should give realistic metrics similar to what can be expected by a Windows application developer.

Background

We were motivated to write StorScore because most existing solutions had some problems:

  1.  Difficult to automate (GUI tools)
    
  2.  Don't properly measure SSDs (history effect, endurance)
    
  3.  Linux-centric
    

StorScore is driven by a "recipe" file, which, like all good things, is just another Perl script. The recipe is simply a series of steps to be followed.

By default, StorScore will run the "turkey test", which is the recipe used by Microsoft to evaluate HDD and SSD for potential cloud deployments. Take a look in the recipes subdirectory to see other examples.

The only required command line option is --target. This can specify an existing file, volume, or a \.\PHYSICALDRIVE number. There are other command line parameters that may be useful, but documentation has not yet been written. Take a look at lib\GlobalConfig.pm to see them all.

Be aware that StorScore can easily be used in a data-destructive manner. Be careful with the --target option.

When running, StorScore will create a bunch of files in the results directory. We rarely look at these directly. Instead, we typically gather many results directories, from a cohort of comparable devices, and pass them to the parse_results.cmd script, which generates a nice Excel XLSX file. The Excel file is structured to facilitate use of pivot charts.

The Excel file has the usual raw metrics (throughput, latency, etc.) but also contains the result of our scoring system, which we designed to help summarize what would otherwise be far too much data (hence the name: StorScore).

Lecture Video

Laura and Mark gave a web presentation in August 2014 to the Microsoft MVP storage community. The talk was recorded, and provides a general overview and a demo of StorScore:

https://www.youtube.com/watch?v=gJZGu-Y3uXE

Dependencies

StorScore depends on some "external" software components.

You must download and install the following or StorScore will not work:

A Windows Perl interpreter:
    ActiveState: http://www.activestate.com/activeperl
    Strawberry: http://strawberryperl.com/

The Visual Studio 2013 C++ runtime libraries for x86 & x64:
    http://www.microsoft.com/en-us/download/details.aspx?id=40784

The Visual Studio 2015 C++ runtime libraries for x86 & x64:
    https://www.microsoft.com/en-us/download/details.aspx?id=48145

StorScore will work without these components, but some features will be disabled:

SmartCtl.exe, from SmartMonTools:
    http://www.smartmontools.org/

Ipmiutil.exe, from the IPMI Management Utilities:
    http://ipmiutil.sourceforge.net/

You can use StorScore to run tests and parse their data without these components, but you will need them to edit and compile the StorageTool:

Windows Driver Kit (WDK):
    https://developer.microsoft.com/en-us/windows/hardware/windows-driver-kit

Windows Software Development Kit (SDK):
    https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk

StorScore includes the following components "in the box." We would like to thank the authors and acknowledge their contribution:

The excellent Perl library, Excel::Writer::XLSX, by John McNamara.
    http://search.cpan.org/~jmcnamara/Excel-Writer-XLSX/lib/Excel/Writer/XLSX.pm        

DiskSpd.exe: an IO generator from the Microsoft Windows team.
    http://aka.ms/diskspd
    https://github.com/microsoft/diskspd

SQLIO2.exe: an IO generator from the Microsoft SQL Server team.

Feedback?

Questions, comments, bug reports, and especially accolades may be directed to the developers: Laura Caulfield [email protected] Mark Santaniello [email protected] Bikash Sharma [email protected]

Open Source Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

storscore's People

Contributors

lauracaulfield avatar aschomin avatar marksantaniello avatar bikashsharma avatar martinwoodward avatar richlander avatar

Watchers

Bart Denison avatar

Forkers

nell69rock

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.