3.7. Replicator

3.7.1. Replicator Database Configuration

[replicator]

New in version 1.2.

db

Specifies replicator database name:

[replicator]
db = _replicator
max_replication_retry_count

Maximum replication retry count can be a non-negative integer or “infinity”

[replicator]
max_replication_retry_count = 10
worker_batch_size

With lower batch sizes checkpoints are done more frequently. Lower batch sizes also reduce the total amount of used RAM memory:

[replicator]
worker_batch_size = 500
worker_processes

More worker processes can give higher network throughput but can also imply more disk and network IO:

[replicator]
worker_processes = 4
http_connections

Maximum number of HTTP connections per replication:

[replicator]
http_connections = 20
connection_timeout

HTTP connection timeout per replication. Even for very fast/reliable networks it might need to be increased if a remote database is too busy:

[replicator]
connection_timeout = 30000
retries_per_request

If a request fails, the replicator will retry it up to N times:

[replicator]
retries_per_request = 10
socket_options

Some socket options that might boost performance in some scenarios:

  • {nodelay, boolean()}
  • {sndbuf, integer()}
  • {recbuf, integer()}
  • {priority, integer()}

See the inet Erlang module’s man page for the full list of options:

[replicator]
socket_options = [{keepalive, true}, {nodelay, false}]
cert_file

Path to a file containing the user’s certificate:

[replicator]
cert_file = /full/path/to/server_cert.pem
key_file

Path to file containing user’s private PEM encoded key:

[replicator]
key_file = /full/path/to/server_key.pem
password

String containing the user’s password. Only used if the private keyfile is password protected:

[replicator]
password = somepassword
verify_ssl_certificates

Set to true to validate peer certificates:

[replicator]
verify_ssl_certificates = false
ssl_trusted_certificates_file

File containing a list of peer trusted certificates (in the PEM format):

[replicator]
ssl_trusted_certificates_file = /etc/ssl/certs/ca-certificates.crt
ssl_certificate_max_depth

Maximum peer certificate depth (must be set even if certificate validation is off):

[replicator]
ssl_certificate_max_depth = 3