Jetstress 2013 Tryout

Jetstress 2013 was released in March 2013. Like its predecessor, Jetstress 2013 is a tool provided by Microsoft for evaluating Exchange 2013 storage subsystem’s performance, scalability and reliability in lab environment. Jetstress 2013 works with the Microsoft Exchange Server 2013 database engine and simulates the Exchange’s IO workload. To learn the new tool, let’s give it a try.

After downloading Jetstress 2013 from Microsoft website, installing it, copying the Exchange 2013 ese*.dll to the Jetstress 2013 directory, we are ready to run a Jetstress 2013 test.

To keep it simple, only one database was created and tested. The parameters used are listed below and shown in Figures 1-3.

  • Number of mailboxes: 1,000
  • IOPS/Mailbox: 0.06
  • Mailbox size: 1.5GB
  • Thread count (global): 1
  • Test type: Performance
  • Run background database maintenance: Yes
  • Continue the test run despite encountering disk errors: No
  • Number of databases: 1
  • Number of copies per database: 2  

Figure 1. Jetstress 2013 Mailbox Profile.

Figure 2. Jetstress 2013 Test Type. Notice that Run BDM was checked.

Figure 3. Jetstress 2013 Database Configuration.

When the test is completed, we get the familiar Jetstress HTML report, as expected. Figure 4 shows the header and configuration portion of the Jetstress 2013 report.

Figure 4. Jetstress 2013 Test Summary.

In the Test Summary section, first of all, notice that the Jetstress version is 15.00.0658.004 and the ESE Version is 15.00.0516.026. The version number 15 means E15, or Exchange 2013.  Also, note that the Overall Test Result is Pass.

Next, in the Database Sizing and Throughput section, we see that with one global thread we achieved 175 transactional IOPS, more that the target transactional IOPS of 60.

Figure 5 shows the performance result portion of the Jetstress 2013 report. Like Jetstress 2010, there are still four types of IO patterns:

  • Database Transactional IO - mostly random reads and writes. The average size of these IOs is ~32KB.
  • Transactional Log Write - sequential and of variable sizes, and ~8KB in average.
  • Background Database Maintenance IO – the background database maintenance (BDM) should be configured to scan databases 24x7. The BDM IOs are large sequential reads. The size of these reads is 256KB. Jetstress 2013 throttles the BDM IOs down significantly, to ~10 reads per database. In comparison, Jetstress 2010 does ~30 BDM reads per database.
  • Log Replication IO - simulating log shipping among multiple copies of the database.

Figure 5. Jetstress 2013 Performance.


Figure 5 also shows great database read latency (4.77ms) and write latency (1.23ms). The low latencies can likely be attributed to the light load we put on the storage subsystem.


Thanks for reading.