A number of factors influence Fedora 4 performance, such as
- server hardware (CPU, disk, memory, network bandwidth)
- repository configuration (storage, indexing and sequencers configured)
- data (number of child nodes)
Results of performance testing using a variety of tools and testing parameters are summarized below.
For best performance, we recommend:
- Configure Java to have a large heap size, e.g.,
-Xmx2048m
- Particularly when working with files larger than available memory, use Infinispan file storage, e.g.
-Dfcrepo.modeshape.configuration=config/single-file/repository.json
- Limit the number of children under a single node to less than 5,000. Consider creating a hierarchy to organize nodes, or using automatically-generated identifiers (which will create the hierarchy automatically).
Single Node Performance Testing
Ingest Testing
Ingest/Retrieval/Update/Delete Testing
Large File Ingest and Retrieval
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). See Large File Ingest and Retrieval.
Clustered Performance Testing
Ingest and read/update/delete testing on multiple servers configured as a cluster.
Case Studies
Reports of real-world ingest and performance testing.