Skip to main content
Version: 76.0.0

a9s Data Services Resource Considerations

This document describes considerations that must be taken into account when allocating resources for the a9s Data Services.

Service-specific resource considerations are available on each data service's Resource Considerations page.

caution

The list of concerns and limitations, both general and service-specific, might grow in the future as the service continues being developed and maintained, and new topics are discovered.

a9s Data Services

Network and storage IO bandwidth must be sufficient to keep up with Service Instances' replication and overall usage. Both network and disk throughput directly affect the read/write operation flow, high availability, and reliability.

Sidecar Processes

Every a9s Data Service Instance has a Logstash process allocated for metrics shipment. Every Logstash process is configured to use up to 512MB. So the total amount of memory available for the main process is at least total_memory - 512MB.

Every a9s Data Service Instance also has an a9s Backup Agent process running. This process uses around 36MB of memory, but the services reserve 256MB of memory for the a9s Backup Agent process. When running a big restore or backup, since the content is streamed, it can reach higher peaks, using a large chunk of the available memory. Usually, the backup is made from a read-only/secondary node. For example, on a9s PostgreSQL the backup is taken from a standby node.

A similar logic applies to the Consul agent processes, in which case the amount of memory reserved is 256MB.

a9s Parachute

Every a9s Data Service Instance has an a9s Parachute process running that stops the node when a disk usage threshold is reached. For full details on configuration and resource considerations, see the a9s Parachute documentation.

a9s Service Dashboard & a9s Public API

The public-api instance present in any Data Service deployment, which includes the a9s Service Dashboard and a9s Public API, has a minimum requirement of 2GB of RAM to ensure that all components are operating as expected. The a9s Public API serves as an endpoint to download the backups and this requires a certain amount of memory to be able to stream the backup files.