Recently one of our partner has highlighted an issue in the current version of Jetstress that means the test may run in performance mode when in fact it should be running in stress mode.

What's the difference between performance and stress mode?

Put simply, performance mode validates the storage performance against the standard parameters recommended by the Exchange product group.  A stress test is intended for longer duration tests, most commonly in shared storage environments where the impacts of other infrastructure may interfere with Exchange performance.

Performance Test “Strict Mode” (<= 6 hour test)

  • Average Database Read Latency: 20ms
  • Average Log File Write Latency: 10ms
  • Max Database Read Latency: 100ms
  • Max Log File Write Latency: 100ms

Stress Test “Lenient mode” (> 6 hour test)

  • Average Database Read Latency: 20ms
  • Average Log File Write Latency: 10ms
  • Max Database Read Latency: 200ms
  • Max Log File Write Latency: 200ms

 

So now we know the difference, where's the problem?

With the current version of Jetstress (14.01.0225.017) if you configure your test via the GUI to run for >6 hours, the test type may appear as a performance test and not a stress test.  You can see this in the test summary before you run the test.

1

This means that your “stress” test will be subjected to the strict mode validation criteria and may fail due to the tighter test parameters.

Note: This issue does NOT affect tests run via JetstressCmd.exe

Workarounds to run as a stress test…

There are two workarounds for this issue.  The underlying problem is that the GUI does not accurately change the test type setting based on test duration.  When a new test is defined (i.e an existing XML is not loaded), the test will always run in performance mode, regardless of what you set the test duration to.  However, if you load a existing XML file where the duration was set to 6 hours or more the test will run in stress mode, even if you modify the duration to be less than 6 hours in the GUI after loading the XML file.

Option 1. Use JetstressCMD.exe to run your test..

  • Define your test with JetstressWin.exe
  • Save the XML file
  • Initialise your test databases
  • Close JetstressWin.exe
  • Run your test via JetstressCMD.exe
    • JetstressCmd.exe /c <XML File> /timeout 24H0M0S /open

To ensure that the test is running in stress mode rather than performance mode, verify that the Database read latency thresholds show as…

  • average: 20 msec/read
  • maximum: 200 msec/read

3

Option 2. Load a predefined Jetstress configuration file into the GUI

  • Define your test with JetstressWin.exe
  • Save the XML file
  • Initialise your test databases
  • Close JetstressWin.exe
  • Open JetstressWin.exe
  • Load your saved XML file
    • Do not modify the test duration!
  • Run the test

To Verify that your test is running as a stress test, ensure that the Test Type shows as “Stress” at the summary page…

2

Resolution..

Our engineering team has identified the cause of this issue and we expect a fix to be included in the next released of Jetstress.

Neil.