Asynchronous Domino endpoints capacity planning

Asynchronous Domino endpoints may impose additional storage requirements on MongoDB and RabbitMQ depending on the number of API invocations and other factors.

Here are the default volume sizes for MongoDB and RabbitMQ in a new Domino deployment:

  • MongoDB storage volume size: 100 GiB

  • RabbitMQ storage volume size: 25 GiB

The default configuration can support asynchronous Domino endpoints based on the following parameters:

ParameterValue

Number of asynchronous Domino endpoints

100

Number of API requests per endpoint per day

5,000

MongoDB document size

10 KiB

MongoDB document retention

2 days

RabbitMQ request message size

10 KiB

RabbitMQ response message size

10 KiB

RabbitMQ request input queue retention

2 days

RabbitMQ response output queue retention

2 days

The sections below show how to calculate MongoDB and RabbitMQ storage requirements for asynchronous Domino endpoints using the above parameters.

MongoDB storage requirements

  • Number of documents per endpoint per day

    Number of API requests per endpoint per day

  • Additional MongoDB storage

    Number of asynchronous Domino endpoints x Number of documents per endpoint per day x MongoDB document size x MongoDB document retention

Example:

100 endpoints x 5,000 documents per endpoint per day x 10 KiB x 2 days =~ 10 GiB

RabbitMQ storage requirements

  • Number of API responses per endpoint per day

    Number of API requests per endpoint per day

  • RabbitMQ request input queue storage

    Number of asynchronous Domino endpoints x Number of API requests per endpoint per day x RabbitMQ request message size x RabbitMQ request input queue retention

  • RabbitMQ response output queue storage

    Number of asynchronous Domino endpoints x Number of API responses per endpoint per day x RabbitMQ response message size x RabbitMQ response output queue retention

  • Additional RabbitMQ storage

    RabbitMQ request input queue storage + RabbitMQ response output queue storage

Example:

(100 endpoints x 5,000 requests per endpoint per day x 10 KiB x 2 days) + (100 endpoints x 5,000 responses per endpoint per day x 10 KiB x 2 days) =~ 20 GiB

Minimum available storage

To prevent asynchronous Domino endpoints from filling the disks, Domino monitors MongoDB and RabbitMQ disk storage metrics and stops accepting new asynchronous Domino endpoint requests when the available disk storage falls below the following configurable thresholds:

Configuration Records KeyDefault Value

com.cerebro.domino.modelApis.async.mongoDb.minimumAvailableBytes

500000000

com.cerebro.domino.modelApis.async.rabbitmq.availableAsyncLimitBytes

1000000000