IO Log File Statistics

This topic applies to Java version only 

To get statistically meaningful results from the benchmark it is necessary that the I/O log file contains enough operations of each type. To get an overview on how well your I/O log file represents each operation, you can use the class LogStatistics in com.db4o.bench.logging.statistics.
Given the file name of an I/O log file LogStatistics will produce an HTML file that contains a table with statistics:



Count
%
Bytes
%
Reads
664'631
30.64
52'214'278
70.83
Writes
360'001
16.6
21'508'576
29.17
Seeks
1'024'632
47.23

Syncs
120'005
5.53


Total
2'169'269


73'722'854

Average byte count per read: 78
Average byte count per write: 59
This is the output of LogStatistics when run with the file generated by CrudApplication with 30k objects, which is the default setting for the Ant target run.benchmark.medium.
Typically sync operations are much rarer than seek operations. If you look at the source of CrudApplication you'll see that extra commit calls when deleting objects. These were inserted to to get
a higher sync count in the I/O log. It's possible that you also have to "tune" your application in a similar way to get good statistics.