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.

See Also

Other Resources

File System Tests