Skip to main content
Version: Develop

Service Instance Resource Usage

On this page we will present the most important resource usage limits for our data services. If a property is specified as "-" there is no property in the BOSH release for that particular setting but we list it here in order to document the default setting for the the user's convenience.

For any setting not specified in the tables below, the value used by the a9s Data Service is identical to the default value for the specific version of the underlying data service. Please see the documentation for that data service in order to learn more.

a9s Parachute

All our service instances are monitored by the a9s Parachute in order to make sure the service will not continue to operate once a certain threshold has been reached in terms of disk space usage. For more information, see a9s Parachute

a9s Elasticsearch

Documentation

PropertySettingDefault ValueDescription
elasticsearch.java_maxmetaspace-XX:MaxMetaspaceSize512MJava MaxMetaSpace Value in Megabyte
elasticsearch.java_heapspace-Xms | -Xmx46%Heapsize for the Elasticsearch JVM

a9s LogMe

Documentation

PropertySettingDefault ValueDescription
logstash.java_maxmetaspace-XX:MaxMetaspaceSize256MJava MaxMetaSpace Value in Megabyte
logstash.java_heapspace-Xms | -Xmx256MHeapsize for the Logstash JVM

a9s MongoDB

Documentation

PropertySettingDefault ValueDescription
-net.maxIncomingConnections65536The maximum number of simultaneous connections that mongos or mongod will accept. This setting has no effect if it is higher than your operating system’s configured maximum connection tracking threshold.
-storage.syncPeriodSecs60The amount of time (in seconds) that can pass before MongoDB flushes data to the data files via an fsync operation.
-storage.wiredTiger.engineConfig.cacheSizeGB50% of (RAM - 1 GB) but at least 256MBThe maximum size of the internal cache that WiredTiger will use for all data.
-replication.oplogSizeMB5% of available disk space.The maximum size in megabytes for the replication operation log (i.e., the oplog).

a9s MariaDB

Documentation

Replace the <replace-me> value for:

  • When it is an a9s MariaDB >= 10.6 use mariadb.
  • When it is an a9s MariaDB < 10.6 use cf_mysql.mysql.
PropertySettingDefault ValueDescription
<replace-me>.max_connectionsmax_connections1500The max. number of client connections per MariaDB node (calculated per node in a replicated setup)
<replace-me>.innodb_buffer_pool_sizeinnodb_buffer_pool_size\<computed>By default this 80% of available memory (see: innodb_buffer_pool_size_percent)
<replace-me>.innodb_buffer_pool_size_percentinnodb_buffer_pool_size_percent80%Set this to an integer (0-100) which represents the percentage of system RAM to reserve for InnoDB's buffer pool
<replace-me>.max_allowed_packetmax_allowed_packet256MThe maximum size in bytes of a packet or a generated/intermediate string
<replace-me>.max_heap_table_sizemax_heap_table_size16777216The maximum size (in rows) to which user-created MEMORY tables are permitted to grow
<replace-me>.tmp_table_sizetmp_table_size33554432 (32M)The maximum size (in bytes) of internal in-memory temporary tables
-slow_query_logONWhether slow queries should be logged (ON) or not (OFF).
<replace-me>.long_query_timelong_query_time10Threshold in seconds above which SQL queries get logged in the slow query log file

a9s PostgreSQL

Documentation

PropertySettingDefault ValueDescription
postgresql-ha.plan.effective_cache_size (optional)effective_cache_size (MB)50% or 75% (if host RAM >=4GB) or min: 256MBThe planner's assumption about the effective size of the disk cache that is available to a single query.
postgresql-ha.plan.max_connections (optional)max_connections(${shared_buffers} / ${work_mem}) * 2 or min: 128The maximum number of concurrent connections to the database server.
postgresql-ha.plan.shared_buffers (optional)shared_buffers (Integer in MB)25% or 15% (if host RAM <1GB) or min: 128 (Integer in MB)The amount of memory the database server uses for shared memory buffers.
postgresql-ha.plan.temp_file_limit (optional)temp_file_limit-1The maximum amount of disk space that a process can use for temporary files, such as sort and hash temporary files, or the storage file for a held cursor. The value is specified in kilobytes, and -1 (the default) means no limit.
postgresql-ha.plan.work_mem (optional)work_mem (MB)8MBThe amount of memory to be used by internal sort operations and hash tables before writing to temporary disk files. query.
postgresql-ha.plan.maintenance_work_mem (optional)maintenance_work_mem (MB)64MBThis is the max memory that an operation like VACCUM, adding indexes or foreign keys can consume.
postgresql-ha.continuous_archiving.archive_timeout (optional)archive_timeout (seconds)60Force the server to switch to a new WAL segment file periodically limiting how old unarchived data can be. Can be 0, or any value higher than 60.

Examples

Here we give you examples for different service plans with values computed based on the VM in which the service instance runs. For that purprose, we define the service plan instances to have a given amount of RAM.

a9s PostgreSQL single small (RAM: 2GB)

SettingDefault ValueDescription
effective_cache_size (MB)1GBThe planner's assumption about the effective size of the disk cache that is available to a single query.
max_connections256The maximum number of concurrent connections to the database server.
shared_buffers (MB)512MBThe amount of memory the database server uses for shared memory buffers.
temp_file_limit-1The maximum amount of disk space that a process can use for temporary files, such as sort and hash temporary files, or the storage file for a held cursor. The value is specified in kilobytes, and -1 (the default) means no limit.
work_mem (MB)8MBThe amount of memory to be used by internal sort operations and hash tables before writing to temporary disk files. query.
maintenance_work_mem (MB)64MBThis is the max memory that an operation like VACCUM, adding indexes or foreign keys can consume.

a9s PostgreSQL single big (RAM: 8GB)

SettingDefault ValueDescription
effective_cache_size (MB)6GBThe planner's assumption about the effective size of the disk cache that is available to a single query.
max_connections512The maximum number of concurrent connections to the database server.
shared_buffers (MB)2048MBThe amount of memory the database server uses for shared memory buffers.
temp_file_limit-1The maximum amount of disk space that a process can use for temporary files, such as sort and hash temporary files, or the storage file for a held cursor. The value is specified in kilobytes, and -1 (the default) means no limit.
work_mem (MB)8MBThe amount of memory to be used by internal sort operations and hash tables before writing to temporary disk files. query.
maintenance_work_mem (MB)64MBThis is the max memory that an operation like VACCUM, adding indexes or foreign keys can consume.

a9s Messaging

Documentation

PropertySettingDefault ValueDescription
-ulimit -n64000The max. number of file descriptors the RabbitMQ process is allowed to open (unix specific)
-async threads+A 64The max. number of async threads the Erlang VM will make available - see here for more information
-vm_memory_calculation_strategyrssSelects Erlang VM memory consumption calculation strategy
rabbitmq.vm_memory_high_watermarkvm_memory_high_watermark.relative0.42Maximum memory in percent which RabbitMQ could use.
-vm_memory_high_watermark_paging_ratio0.5Fraction of the high watermark limit at which queues start to page message out to disc in order to free up memory.
rabbitmq.disk_free_limit_mem_relativedisk_free_limit.relative1.5At least disk_free_limit_mem_relative*TOTAL_RAM must be available on disk - in case this limit is reached the broker will start blocking clients which publish messages
rabbitmq.tcp_listen_backlogtcp_listen_options.backlog2048Maximum size of the unaccepted TCP connections queue. When this size is reached, new connections will be rejected.
-tcp_listen_options.nodelaytrueDisable Nagle's Algorithm
rabbitmq.tcp_listen_backlogtcp_listen_options.backlog2048Maximum size of the unaccepted TCP connections queue. When this size is reached, new connections will be rejected.
-queue_index_embed_msgs_below4096Size in bytes below which to embed messages in the queue index

a9s Redis

Documentation

PropertySettingDefault ValueDescription
redis.tcp-backlogtcp-backlog10000Queue length for established TCP connections
redis.tcp-keepalivetcp-keepalive30Period used to send TCP ACKs
redis.maxclientsmaxclients10000Max. number of connected clients at the same time
redis.maxmemory-policymaxmemory-policyvolatile-lruPolicy of what to remove when maxmemory is reached. Options: volatile-lru, allkeys-lru, volatile-lfu, allkeys-lfu, volatile-random, allkeys-random, volatile-ttl, noeviction
redis.maxmemory-samplesmaxmemory-samples5Number of samples Redis checks before deleting one
redis.lua-time-limitlua-time-limit5000Max execution time of a Lua script in milliseconds
redis.slowlog-log-slower-thanslowlog-log-slower-than10000Execution time to log commands slower than the given number in microseconds
redis.slowlog-max-lenslowlog-max-len128Log length