Friday, August 15, 2008

Setting up IO Server Stress Tests for Windows

In my current position I test a filter driver, basically a driver placed into the stack on multiple platforms that gathers events on the system and passes them up to a Java agent to send to a central server for review.  Some events are filtered out, and some are not, but default and this is done to keep the messaging down to a level where the driver is not stressed out, but sometimes its good to know how the driver operates under stress.  There are a few scripts we use to load the system with events of all kinds, but windows provides a suite of tests in something it calls IOStress, and is given out at Plugfest every year.  I have spent some time setting it up for testing in my environment and this is what I have had to do so far to get it to work:
  • The IO Stress program needs a net share set up for ntiosrv that points to the iostress folder and supporting files
  • Copy the iostress folder from \Software\Microsoft\iostress to a local drive (say D:\) and rename the io.stress60 (plug-iosrv) folder to iostress
  • Create the share for ntiosrv
net share ntiosrv=d:\iostress /GRANT:Administrator,FULL /REMARK:"IOStress Share"
  • This will set up a share to the D:\iostress directory, change to that location and run - iostress.cmd /ignoredebugger
  • The I/O Stress program main window may be minimized, select it
  • In the Registration and Verifier screen enter the driver to be tested
    • Select Low Resources Simulation
    • Select I/O Verification Level 1
  • In the Registration and Verifier screen, if run with No Debug, there will be a note regarding No Debugger Selected, this is due to the Email and Contact information being empty. Enter values, any will do, into the three fields.
  • Select the drives needed to be tested, all available drives on the machine will appear in the Run Information tab, on this page as well the Test Time can be entered in the Specify Number of hours to run field.
  • The Stress Tests tab allows selection of specific tests, a slight overview of the tests is included with the zip file that contains the tests, it gives some information on the basic tests.
  • If the system reboots you must log in to the machine, the IO Stress kit likes the Administrator account to have a blank password, but that is insecure
Still, even with all this I have encountered a few problems when running the tests:
  • There is a complaint about a registry value not discovered, I have yet to find documentation on what that value is, but it seems to still run
  • Do not run with the Verifier, this seems to cause crashes, possibly because the IOStress program runs with the driver in the Verifier and having them in twice causes conflicts
  • When setting up the environment it claims some network drives are not found, I am not sure if its the ntiosrv share or not, I can never seem to find it in the net view list, but without the share being available the entire test suite will not even start.
I don't mind Windows tests, and undocumented Microsoft tools are such a joy, but it does some checking and has allowed me to verify some issues and find new ones especially on Windows 2008 which is a new platform for my group and we don't have a complete set of tools for that platform yet.  If I get these issues resolved, I'll note the fixes.

No comments: