Troubleshooting Jetstress 2010


Applies to: Exchange Server 2010 SP1, Exchange Server 2010

Topic Last Modified: 2012-07-23

While using Jetstress, you may encounter some known issues. This topic provides information about causes and recommended solutions.

Log or data volumes cannot be overlapped

This issue can occur when you're using Microsoft Exchange Server 2007 Extensible Storage Engine (ESE) files and you attempt to store multiple log streams on the same logical disk volume. Although this is a valid Exchange Server deployment, Jetstress uses the logical disk counters to record I/O latency values for each database and log stream. If multiple databases and logs are using the same logical disk, Jetstress is unable to isolate the performance counters required.

To work around this issue, edit the JetstressConfig.XML file and change the value of the useEseCounters parameter to true.


Save the XML file, and then attempt to re-configure the test with overlapped files. Jetstress will now allow the configuration, because it has been configured to use the I/O performance data from ESE rather than the operating system logical disk counters.

Jetstress can't attach to or create a database

Event log error that may display: Error -1023

  • Possible cause   The path of the database or log files is incorrect.

  • Solution   Ensure that the paths and file names are correct.

Event log error that may display: Error -1032

  • Possible cause   Permissions are insufficient to access the .edb file or the log files.

  • Solution   Verify that permissions are sufficient for the account under which Jetstress is running. Jetstress requires read/write permission to the directories it's using.

Event log error that may display: Error -550 (0)

  • Possible cause   The last time Jetstress was run, it was ended in such a way that the log files became unsynchronized with the database.

  • Solution   Delete the Jetstress database (*.edb), log files (*.log), and check file (*.chk), and re-create the Jetstress database. You can also use Eseutil.exe with the /r switch to resynchronize the logs and database.

Event log error that may display: Error -1022

  • Possible cause   The failure is caused by circular logging by Jetstress.

  • Solution   Check the log drive for the log file name identified in the event log. Delete that log file and all the log files that have a higher number in the file name. Then, run Eseutil.exe /r to recover Jetstress.edb. When the database is in a good state, delete all the log files in the log directory, and rerun Jetstress.

Error loading Performance Monitor counters

JetstressWin.exe relies on performance counters to monitor the system. JetstressWin.exe requires the Extensible Storage Engine (ESE) database counters to be installed.

  • Cause   When the counters aren't loaded correctly, you may see exception errors related to performance counters.

  • Solution   To reload the counters, exit from JetstressWin.exe. Locate the directory where JetstressWin.exe was installed and verify that eseperf.dll, eseperf.hxx, and eseperf.ini files exist in the directory. In a command shell window, type the command unlodctr ESE, and then click Enter. This will unregister the ESE database performance counters. Start JetstressWin.exe and allow it to reload the performance counters.

Database performance counters not working after using Jetstress

Uninstalling Jetstress causes performance counter issues.

  • Cause   In certain cases when Exchange was installed before Jetstress, uninstalling Jetstress could result in unstable database performance counters.

  • Solution   To restore access to database counters after Jetstress has been removed, go to the Exchange installation directory (for example, D:\*\Exchange Server\V14\bin) from a command prompt.

    • From the command prompt, type the command unlodctr ESE to ensure that the database performance counter registration information has been completely removed from the registry.

    • Type the command lodctr esperf.ini, which should correctly register the database counters.

The database performance counters will now be available.

Unable to tune for the parameters

This error indicates that Jetstress couldn't find appropriate parameters that could be used to run a performance or stress test at the desired level of input/output (I/O) load.

  • Cause   This can be caused by several factors. The most common reason is that the storage subsystem has multiple hosts attached to it, and those hosts are competing for common resources during the tuning process.

  • Solution   When you're running in a scenario such as this, you can run Jetstress on a single host with tuning enabled to generate the appropriate load parameters, and then rerun the test on the other hosts with the Suppress tuning and use thread count option enabled and the tuning parameters entered manually from the results of the first test.