Blog Post

Exchange Team Blog
2 MIN READ

Announcing the Jetstress 2013 Field Guide

The_Exchange_Team's avatar
Jul 10, 2013

 

Due to the success of the Jetstress 2010 field guide, we have decided to continue the tradition by releasing an updated version of the guide for Jetstress 2013 . As with the previous version, the aim of the document is as follows:

  • Explain how Jetstress works.
  • Provide storage validation planning and configuration guidance.
  • Provide Jetstress results interpretation guidance

So, what’s changed? Well, the good news is that Jetstress 2013 is very similar to Jetstress 2010. There are some modifications to accommodate the storage changes within Exchange Server 2013, however the planning, configuration and results interpretation process remain largely the same as they were in Jetstress 2010.

Change overview in Jetstress 2013

  • The Event log is captured and logged to the test log. These events show up in the Jetstress UI as the test is progressing.
  • Any errors are logged against the volume that they occurred. The final report shows the error counts per volume in a new sub-section.
  • A single IO error anywhere will fail the test.
  • In case of CRC errors (JET -1021), Jetstress will simulate the same behaviour as Exchange “page patching”.
  • Detects -1018, -1019, -1021, -1022, -1119, hung IO, DbtimeTooNew, DbtimeTooOld.
  • Threads, which generate IO, are now controlled at a global level. Instead of specifying Threads/DB, you now specify a global thread count, which works against all databases.

Updates in the Jetstress 2013 Field Guide

Not content with simply updating Jetstress, we have also added some more information into the field guide.

  • Updated internals section to reflect changes made in Jetstress 2013 [4]
  • Updated validation process flow charts [5.1]
  • Improved failure mode testing section [5.4]
  • Updated initialisation time table [5.6.1]
  • Updated installation section [6]
  • Updated report data section [9]
  • Updated thread count section [Appendix A]

The Jetstress Field Guide will be the only documentation released for Jetstress 2013, so if you have any feedback please feel free to share it with us here.

You can download the new version of Jetstress field guide as an attachment of this post.

Thanks,

Neil Johnson
Senior Consultant, MCS UK

Updated Jun 15, 2020
Version 4.0
  • chrlie's avatar
    chrlie
    Brass Contributor

    Nino_BilicThanks for your reply. 

    I wasn't able to find any issues with procmon. The app writes all the performance monitor and event log files to the Jetstress directory but fails to create the report, so I don't think it's a permission error. I reinstalled the system with the English ISO file and now Jetstress works as expected. There is another issue on the German system when trying to use the automatic tuning. It fails because the performance counter "Prozessorzeit" couldn't be found. Must be something missing or wrong with the performance counters of the German install. I used the latest August 2024 ISO files, only difference was the language version.

     

     

    13.09.2024 18:12:35 -- Automatic tuning is starting ...
    13.09.2024 18:12:36 -- JetInterop batch transaction stats: 7021, 7021, 7021, 7020, 7020, 7020, 7020, 7020, 7020, 7020, 7020, 7020, 7020, 7020, 7020, 7020, 7020, 7020, 7020 and 7020.
    13.09.2024 18:12:36 -- Dispatching transactions ends.
    13.09.2024 18:12:36 -- Shutting down databases ...
    13.09.2024 18:12:38 -- Instance6556.1 (complete), Instance6556.2 (complete), Instance6556.3 (complete), Instance6556.4 (complete), Instance6556.5 (complete), Instance6556.6 (complete), Instance6556.7 (complete), Instance6556.8 (complete), Instance6556.9 (complete), Instance6556.10 (complete), Instance6556.11 (complete), Instance6556.12 (complete), Instance6556.13 (complete), Instance6556.14 (complete), Instance6556.15 (complete), Instance6556.16 (complete), Instance6556.17 (complete), Instance6556.18 (complete), Instance6556.19 (complete) and Instance6556.20 (complete)
    13.09.2024 18:12:38 -- Jetstress testing failed. Error: Der Leistungsindikator mit dem angegebenen Kategorienamen Prozessor konnte nicht gefunden werden; Indikatorname % Prozessorzeit.

     

     

    Edit: Jetstress also works without problems on a German Server 2019 System.

  • Good. Will Jetstress 2013 work for 2010 planning.

  • Ok. Got it works with any version of Exchange.

  • It's in the doc...

    Important Changes

    • Do not use Jetstress 2013 for older versions of Exchange Server.  Jetstress 2013 has only been tested with Exchange Server 2013.

  • @ Jack.

    Yeah I saw. But why it is different. Anyways no hurry.

  • There is an inconsistency in the information published regarding this tool.  On the webpage at this location:

    gallery.technet.microsoft.com/.../Jetstress-2013-Field-Guide-2438bc12

    the author says, "You can use this whitepaper with any version of Exchange you plan to deploy."  Yet, the field guide itself says, "Do not use Jetstress 2013 for older versions of Exchange Server.  Jetstress 2013 has only been tested with Exchange Server 2013."

  • The 2013 Jetstress Field Guide still includes screen shots and instructions that are obviously leftover from the 2010 Jetstress Field Guide.  The screen shots actually show the title "Microsoft Exchange Jetstress 2010".  The fact that so many items were not modified brings into suspect all information in the field guide.

  • chrlie's avatar
    chrlie
    Brass Contributor

    Nino_BilicThe_Exchange_Team 

    The latest release of Jetstress 15.02.0772 cannot create the test report on Windows Server 2022 machines (German language install).

    Error:

    13.09.2024 13:02:32 -- Microsoft Exchange Jetstress 2013 Core Engine (version: 15.02.0772.000) detected.
    13.09.2024 13:02:32 -- Windows Server 2022 Standard  (6.2.9200.0) detected.
    13.09.2024 13:02:32 -- Microsoft Exchange Server Database Storage Engine (version: 15.02.1544.004) was detected.
    13.09.2024 13:02:32 -- Microsoft Exchange Server Database Storage Engine Performance Library (version: 15.02.1544.004) was detected.
    13.09.2024 13:03:12 -- Jetstress testing begins ...
    ...
    13.09.2024 13:18:24 -- Creating test report ...
    13.09.2024 13:18:24 -- The process failed to create the test report. Error: System.ComponentModel.Win32Exception (0x80004005): Der angegebene Eintrag wurde in der Protokolldatei nicht gefunden.
    
       bei Microsoft.Exchange.Jetstress.Performance.PerfLog.GetCounterStats(String dataSource, Int64 startTime, Int64 endTime, String[] counterPaths, Double[] thresholds, DateTime& actualStartTime, DateTime& actualEndTime)
       bei Microsoft.Exchange.Jetstress.Core.StressEngine.GetCounterStats(String dataSource, Int64 startTime, Int64 endTime, Boolean collectDbm, Boolean collectLogReplication, DateTime& actualStartTime, DateTime& actualEndTime)
       bei Microsoft.Exchange.Jetstress.Core.StressEngine.CreatePerformanceReport(String logFileName, Int64 startTime, Int64 endTime)

    Is this a known issue? Will there be a future release of Jetstress that can be used on Windows Server 2022 machines?

    According to the Jetstress system requirements, Windows Server 2019 is the latest supported operating system.

     

    Regards,

     

    Christian

  • chrlie Not aware of this being a known issue; AFAIK, Jetstress should still run on WS 2022 (pretty sure we'd hear of this, and I am not finding much on the Internet that this is a known issue?) It is unclear from the error why, but my immediate thought is to try Process Monitor https://learn.microsoft.com/en-us/sysinternals/downloads/procmon and see if there are permission errors when trying to write the log file in question.