Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Excerpt

The Fedora community has conducted a number of performance tests. The details of each test, including testing parameters and results, are included in the following sections.

A number of factors influence Fedora 4 performance, such as...:

  • server Server hardware (CPU, disk, memory, network bandwidth)
  • repository Repository configuration (storage, indexing and sequencers configured)
  • data Data (number of child nodes)

...

For best performance, we recommend:

  • Configure Java to have a large heap size, e.g., -Xmx2048m
  • Limit the number of children under a single node to less than 5 resource – ideally to 1,000 or less.  Consider creating using a hierarchy to organize nodes, or using automaticallyresources, e.g., storing the resource with ID 12345678 at the path /12/34/56/78.  Automatically-generated identifiers (which will create the hierarchy automatically)will use this pattern.
  • Particularly when working with files larger than available memory, use Infinispan file storage (e.g. -Dfcrepo.modeshape.configuration=config/single-file/repository.json) or filesystem federation.  Federation avoids having to transfer files using HTTP – and with larger file sizes (or with larger numbers of files being processed), this can improve performance significantly.

...

Ingesting content into Fedora 4 is generally faster than ingesting into Fedora 3 on the same hardware (tested up to 10,000 objects containers with 50MB datastreams binaries). 

...

Create/

...

Read/Update/Delete Testing

Updating content in Fedora 4 is generally faster than in Fedora 3.  Reading and deleting content from Fedora 4 is somewhat slower than Fedora 3. 

...

Arbitrarily-large files can be ingested (or projected into the repository using filesystem federation) and downloaded via the REST API (tested up to 1TB).  The only apparent limitations are disk space available to store the files, and a sufficiently large Java heap size (tested with -Xmx2048m). 

...

Ingest and read/update/delete testing on multiple servers configured as a cluster.

CRUD testing on multiple servers configured as a cluster with a load balancer. 

Case Studies

Reports of real-world ingest and performance testing.

...