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.