Appendix H - Benchmarking Results

Sizing References

* Adjust per your expected CCU requirements.  As a reference point, internal SC 3.4 scalability testing showed the below summary results:  

  1. 500 concurrent users (CCUs) with a max latency of 6-9k ms, min 100ms, avg 1500 ms and max response time of 267ms, min 0 ms, avg of 31ms, without encountering errors

  2. 100 concurrent users (CCUs) with a max latency of 1.5k ms, min 66ms, avg 586 ms and max response time of 69ms, min 0 ms, avg of 7.1ms, without encountering errors   

... with the following hardware setup:

  • server = cloud "(org) dedicated" 8 core instance running on an AMD EPYC 7501 32-Core Processor @ 2GHz w/ 512KB of L2 cache + 16GB of RAM + Linux Ubuntu 16.04 LTS + Cassandra 3.11.5 + Syndeia Cloud v3.4.2020-10-01

  • client = Apple MBP (Retina, 15-inch, Mid 2015) 4 core x 2.8 GHz Intel Core i7 + 16 GB of RAM (1600 MHz DDR3) + Mac OSX 10.13.X + jMeter v5.2.1

  • network = WiFi (802.11ac + WPA2 Personal encryption) with an average network latency of 20ms

... and jMeter test case:

  1. HTTP GET /signIn

    1. Assert HTTP 2XX was received

    2. Use JSON Extractor to extract token for use in subsequent calls

  2. HTTP GET /repositories

    1. Assert HTTP 2XX was received

  3. HTTP GET /containers

    1. Assert HTTP 2XX was received

  4. HTTP POST /graph/query/raw (g.V().count())

    1. Assert HTTP 2XX was received

** Adjust per your expected graph sizing requirements.

*** As a reference point, SC itself when extracted requires ~1.8GB and a sample environment with 9.2k relations, 66 relation types, ~16.4k artifacts, 285 artifact types, ~1k containers, 101 container types, 71 repositories, and 18 repository types requires ~306MB at the Cassandra database data layer (Replication Factor (RF) = 1 ) and ~281MB at the Kafka stream log layer on an EXT4 file system on a single-node Cassandra deployment.   Note, we recommend periodically monitoring the size of the Kafka stream "logs" & gremlin-server.log file(s) as they have a tendency to grow (the latter can grow up to 1GB in a year with the default slf4jReporter metric enabled and logging every 180000 ms)Â