Link Search Menu Expand Document
Start for Free

Production Reference Specification

This section provides a reference specification for one of our in-house cluster stress testing environments.

Page Contents
  1. Stardog Stress Test Environment
    1. Client load for the stress test
    2. Hardware used for the stress test

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
  • 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/