FileIOTest - Times the Duration of File IO Operations

FileIOTest is a command line tool that tests the speed of local or remote (SMB) storage by performing some common file IO operations repeatedly and measuring the duration.

These are the main facts:

  • Performs four different types of file IO: write, custom read, read with the GetPrivateProfileString API, create/delete
  • The number of iterations can be specified
  • Each generated file name is unique to prevent caching
  • Works with local and UNC paths
  • FileIOTest does not require any software to be installed
  • FileIOTest works on any version of Windows from Vista / Server 2008 onwards
  • FileIOTest is freeware

FileIOTest was developed to collect data for the 2015 talk on Windows folder redirection Aaron Parker, Shawn Bass and myself jointly presented.

When to Use

FileIOTest is useful for performance testing the real-world file performance of storage subsystems and protocols. With FileIOTest you can easily compare configurations by simply pointing FileIOTest at UNC paths that are hosted on different machines.

FileIOTest not only tests read and write operations but also deletes (which can be very slow with some anti-virus products) and the notorious Windows API function GetPrivateProfileString (which is used by countless applications).

Some ideas for performance tests and comparisons that might prove to be interesting:

  • SMB 1 vs. SMB 2 vs. SMB 3
  • NetApp filer vs. Windows file server
  • Comparing various anti-virus products
  • The effects of installing a DLP (data loss prevention) product

Syntax

The program’s help screen describes the available options in detail:

FileIOTest by Helge Klein

Times the duration of file IO operations against a local or remote target

Homepage:  http://helgeklein.com
Version:   1.0.1.0
Copyright: Helge Klein

Syntax:
=======

FileIOTest [-help] -target <UNC path> [-iterations <number>]

Notes:
======
The default number of iterations is 1,000.
Each generated file name is unique.
Turn off antivirus unless you want to test AV performance.

Explanation of the tests:
======
Write with custom function:
   Creates the file and writes <iteration> lines opening and closing the handle for each line
ReadPrivateProfileString:
   Calls the GetPrivateProfileString API to read <iteration> lines individually
Read with custom function:
   Opens the file once and reads <interation> lines individually
Create/delete loop:
   Creates the file, writes one line, deletes the file. This happens <iteration> times


FileIOTest finished successfully

License

FileIOTest is freeware.

Changelog

Version 1.0.1

  • First released version

System Requirements

FileIOTest works on any version of Windows beginning with Vista / Server 2008. This includes Windows 7, 8, 8.1, 10 and Server 2012 (R2). FileIOTest does not require any additional software.

FileIOTest comes as a 32-bit binary only but works correctly on both 32-bit and 64-bit Windows.

Download

Download FileIOTest here.

Comments

Related Posts

Why Sizing for Averages is a Bad Idea

Why Sizing for Averages is a Bad Idea
When sizing a new environment it is tempting to use averages. It seems the logical thing to do. But it also guarantees a bad user experience. Example: Sizing an RDS or XenApp Farm Let’s say you’re tasked with building a new Citrix XenApp farm. Being a diligent IT person you set up a pilot: one or two machines with all the right software and settings. Then you carefully select a group of pilot users in such a way that they represent the organization’s employee types statistically correctly. Then you let them work on the new platform, ironing out bugs and such. At the end of that period, you have a great new platform. But there is one big question left: how many servers to buy?!
Logs & Metrics

Latest Posts

Fast & Silent 5 Watt PC: Minimizing Idle Power Usage

Fast & Silent 5 Watt PC: Minimizing Idle Power Usage
This micro-series explains how to turn the Lenovo ThinkCentre M90t Gen 6 into a smart workstation that consumes only 5 Watts when idle but reaches top Cinebench scores while staying almost imperceptibly silent. In the first post, I showed how to silence the machine by replacing and adding to Lenovo’s CPU cooler. In this second post, I’m listing the exact configuration that achieves the lofty goal of combining minimal idle power consumption with top Cinebench scores.
Hardware

Fast & Silent 5 Watt PC: Lenovo ThinkCentre M90t Modding

Fast & Silent 5 Watt PC: Lenovo ThinkCentre M90t Modding
This micro-series explains how to turn the Lenovo ThinkCentre M90t Gen 6 into a smart workstation that consumes only 5 Watts when idle but reaches top Cinebench scores while staying almost imperceptibly silent. In this first post, I’m showing how to silence the machine by replacing and adding to Lenovo’s CPU cooler. In a second post, I’m listing the exact configuration that achieves the lofty goal of combining minimal idle power consumption with top Cinebench scores.
Hardware