Versions Compared

Key

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

...

There are four major categories of use that help us construct a realistic performance test suite. These are pragmatic categories since they present different loads on the system and are not one-to-one with any API.

  • User Operation - Users view a single operation
  • Repository Operation - Repositories view a single operation
  • Performance - The number of units of work that are accomplished during an operation
  • Interleaving - The number and kinds of operations being performed at the same nominal time  
  • Unit of Work - A metric to be defined appropriate to the Fedora Repository.
    • There may be more than one metric
    • Working definitions:
      • The amount in bytes of content and metadata for an operation, or per unit of time
      • The number of operations per unit of time
      • The time between when an operation is started and when it is completed

Authoring

Authoring is the activity of creating or assembling new content. This includes both constructing wholly new content and referencing existing content.  It is different from ingest in that is characterized by incremental assembly of the content which many rapid write/read cycles to accomplish what the user considers a single operation.  It is often performed as part of some sort of authoring workflow commonly with multiple actors performing both overlapping and different roles.  During this phase the content (and metadata) is rapidly changing.

Small Ingest

 The time between operations in a workflow can vary considerably so Authoring needs to handle the shortest period between user operations.

  • In Islandora, I am using forms to create one or more items, and I am editing relationships incrementally
  • In the National Science Digital Library (defunct), I have a constant stream of third party annotations being added
  • In RepoMMan, I need the send a paper through an approval process where the approvers may want to make editorial changes
  • In Hydra (I don't have one but I bet its there)

 

Simple Ingest

Simple Small Ingest consist of upload of single or small amounts of content and metadata. It can be accomplished with a single atomic operation or a short series of operations, usually RESTful operations without resorted to a read prior , without required intermediate reads prior to completion.  The duration of the small ingest is expected to be approximately the time it takes to upload the content and metadata starting with the beginning of the connection, where the connection is terminated after the operation.  It is expected that the ability to read (access) the uploaded content and metadata should happen fairly soon after the upload is complete.

  • I want to use the Exhibition module in Islandora to present a static website
  • I want to present a dynamic website through Hydra

 

Bulk Ingest

In bulk ingest, a large quantity of content and metadata is ingested as a logical unit or is continuous.  This likely happen over a may be accomplished using number of connections repository operations or may utilize methods that are optimized for bulk ingest.  It is characterized by the expectation that there may be a defined delay between when the ingest is started and part or all of the content and metadata becomes available for read.

  • I am the Bodlien Library and I want to create a duplicate (backup) of my digitised texts
  • I am SIdora and I want to ingest the gene sequence for a Manakin (bird) coming from my in house gene sequencers

 

Simple Access

Simple access (a.k.a simple read or download) is the download of content and metadata (a.k.a representation of a resource) as a single user operation and one or a small number of repository operations.  It usually RESTful, and usually contained a single request. Simple Access must not require any interleaved writes to accomplish the single user operation.  The content and metadata stays fixed from the beginning to the end of the access.

Conditioned Access

Mediated Access

 Additional Testing Scenarios

Bulk Access

Download of large amount of content as single user operation.  This may require any number of repository operations to accomplish. Whether content and metadata stays fixed from the beginning to the end of the operation is to be defined. This is needs consideration a whole intellectual entity, graph or DIP is considered the unit.  Also we need to consider what this means for continuous access operations

Testing Considerations

These scenarios expand on the previous single stimulus tests to use multiple read, write, and read-write tests via the REST api.

...