Archived

If you are looking for the last documentation in the 4.x series, see 4.7.5. Looking for another version? See all documentation.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

To test the performance of MySQL persistence compared to LevelDB, I ran a series of tests.  The tests performed 200 batches, with each batch consisting of:

  1. Creating 1,000 objects with a basic Dublin Core metadata record
  2. Listing 1,000 objects
  3. Retrieving the RDF for the 1,000 objects

Each step was timed, and graphs of the times are shown below.  The test scripts are available to view/download.

Using Client-Supplied Identifiers (Single Container)

 Using client-supplied identifiers, placing all child objects in a single container, the performance of MySQL and LevelDB was very similar:

  • Both had list and read times that were essentially flat as the number of child objects grew
  • Both had create times that steadily grew as the number of child objects grew
  • Both increasingly erratic performance after around 45,000 child objects were created

Using Auto-Generated Identifiers

Using auto-generated identifiers, placing child objects in a 4-level hierarchy, the performance of MySQL and LevelDB was similar for create and read times, but significantly different for list operations:

  • Both had create and read times that were essentially flat as the number of child objects grew
  • Both had list times that grew as the number of child objects grew, but the MySQL list operations grew much more quickly

 

  • No labels