Compact Database Performance Test (Compact 2013)
3/26/2014
The CEDB Performance tests analyze the performance of the system when performing common database operations such as writing a record, seeking a database, and deleting a record. They capture information about CPU utilization and memory data, as well as the time it takes to complete each operation.
There are two versions of the CEDB Performance Test:
- "Perf_dbEx": This test is the basic benchmark suite for CEDB performance.
- There is also an extended version of the benchmark suite contained in the Perf_dbEx_Long.dll test library. It contains a larger amount of benchmark operations and data. For more information, see Compact Database Extended Performance Test.
You may want to run this test to compare CEDB performance on storage devices from different manufacturers. You may also want to run this test to decide whether to store the database on a flash card or a hard disk.
The CEDB Performance Test generates raw benchmark data into a log file in the release directory. The log file name is in the following format:
"perf_dbEx_[Target HW]_[Platform]_[OS Version].LOG"
You can write your own parser to convert the raw data, or use the PerfToCsv Tool, the default parser provided by Microsoft.
Test Prerequisites
There are no hardware requirements for the CEDB Performance tests.
The following table shows the software requirements for the CEDB Performance tests.
Requirement |
Description |
---|---|
Tux.exe |
Tux test harness |
Kato.dll |
Kato logging engine |
Perflog.dll |
Performance logging engine |
Perf_dbEx.dll |
Test library |
Note
There must be at least 10 megabytes (MB) of free space in the root directory of the target device. If there is not sufficient space in the root directory of the device, the test cannot run properly. An alternate option is to run the test suite on a storage media such as a storage card or hard disk.
Subtests
The table below lists the subtests included in this test.
SubTest ID |
Description |
---|---|
1001 |
Measures the database performance by using the default sorting mechanism. |
1002 |
Measures the database performance by using the DWORD sorting mechanism. |
1003 |
Measures the database performance by using the String sorting mechanism. |
1004 |
Measures the database performance by using the Filetime sorting mechanism. |
1005 |
Measures the database performance on flushing. |
Setting Up the Test
This test has no additional requirements.
Running the Test
The CEDB Performance Test executes the "tux -o -d perf_dbEx" command line on default execution.
The following table shows the optional command line parameters for the CEDB Performance tests.
Command line parameter |
Description |
---|---|
/"path" root_path |
Specifies the database volume root path. |
/"dbvol" db_volume_filename |
Specifies the database volume name. |
/"db" db_name |
Specifies the database name. |
/"sleep" |
Allows the test suite to pause between each operation. |
/"interval" time |
Specifies the interval (in milliseconds) between each CPU/memory snapshot. The default value is 100 ms. |
/"calibration" time |
Specifies the CPU calibration duration (in milliseconds). The default value is 100 ms. |
For example:
s tux -o -d perf_dbEx -c "/path \Hard Disk /dbvol testVol /db testDB"
The above command will create the database "testDB" inside the database volume file "testVol", on the root path of \"Hard Disk".
Verifying the Test
When the test completes running, verify that "PASS" appears in the test log for all subtests.
Troubleshooting the Test
The following table shows troubleshooting tips for error messages you may encounter when running the CEDB Performance tests.
Error message |
Solution |
---|---|
FSVolTrimFile: Skipping trim of volume \Perf_DBEx_Vol. |
This is an informational message, not an error. |
DB:Out of disk space |
This is an indication that the system is running out of space. Run the test on a larger storage media. |