Production Reference Specification
This section provides a reference specification for one of our in-house cluster stress testing environments.
Page Contents
Stardog Stress Test Environment
At Stardog engineering, we regularly run stress tests with different client load characteristics and hardware specifications. The client load for one such stress test is specified below, followed by the hardware specifications for a Stardog HA cluster that we have verified can sustain the specified load for weeks.
Note that the characteristics of the client load on your production Stardog HA cluster will likely vary greatly from the load described below. You should measure the performance of your cluster using your own client load and adjust the specifications of your production cluster accordingly.
Client load for the stress test
For this stress test, we run a multi-threaded client application that simultaneously writes to and reads from a single Stardog database.
- Writing:
- Data set: BSBM with 10 billion triples
- Writes 100 million triples every 6 hours
- Writes 100 thousand triples every 1 hour
- Writes 1000 triples every minute
- Reading:
- Queries continuously from 76 clients
Hardware used for the stress test
When we run this stress test against a Stardog HA cluster, we deploy the following:
- Hosting environment: AWS
- Number of ZooKeeper nodes: 3
- Number of Stardog nodes: 3
- ZooKeeper node AWS instance type: c5.xlarge
- Stardog server node AWS instance type: r5.2xlarge
- Stardog server JVM heap size and max direct memory size: 27G
- The memory settings of our
STARDOG_SERVER_JAVA_ARGS
environment variable are:-Xms27g -Xmx27g -XX:MaxDirectMemorySize=27g
- The memory settings of our
- Stardog server JVM temporary directory is a separate volume that is as large and performant as the
STARDOG_HOME
volume- The path to this directory is specified in our
STARDOG_SERVER_JAVA_ARGS
environment variable as:-Djava.io.tmpdir=/mnt/data/
- The path to this directory is specified in our