Jetstress: How Jet database operation mix works

JetStressUI WinForm application takes Jet database operation mix, e.g. 17 inserts, 68 replaces, 5 deletes, and 90 lazy commits (those number are percentages and the rest 10% is for additionally seeking records since deletes and replaces also have seeks as part of them).

Then, it checks the following error and warning conditions:

  • Error: Sum of inserts, replaces, and deletes is greater than 100.
  • Error: Lazy commits is greater than 100.
  • Warning: Deletes is greater than 10 --- This high deletes can make Jet engine's version bucket grow out of bound.
  • Warning: Deletes is greater than Inserts --- This higher deletes than inserts will make data scarce in the database.

JetStressInterop (which is JetStress engine library) has the following Jet database operations:

  • Delete Records: JetSeek, and JetDelete
  • Replace Records: JetSeek, JetSetColumn, and JetUpdate
  • Insert Records: JetSetColumns, and JetUpdate
  • Seek Records: JetSeek
  • Lazy Commit: Use JetCommitTransaction(sesid, JET_bitCommitLazyFlush) after database operations.

If the user selected suppress tuning and used the default Jet database operation mix, JetStressInterop.log will have the following:

18:26:35 --- JetInteropRun with record size 1000
18:26:35 --- Thread0: 17% of operations will be inserts
18:26:35 --- Thread0: 68% of operations will be replaces
18:26:35 --- Thread0: 5% of operations will be deletes
18:26:35 --- Thread0: 10% of operations will be seeks --- [HMLee] This is 100% - (17% + 68% + 5%) .
18:26:35 --- Thread0: 90% of commits will be lazy --- [HMLee] 90% of the time, JetStress will useJetCommitTransaction (sesid, JET_bitCommitLazyFlush) .

This posting is provided "AS IS" with no warranties, and confers no rights.