Below are the hardware, software, and Rhino configuration used for the Rhino benchmarks.
Hardware
The SIP High Availablity (HA) benchmark tests were run using configurations ranging from one node to four node clusters.
Each Rhino node is run on its own host. Simulators are each run on their own hosts, with horizontal scaleout to properly load the Rhino nodes.
All machines used for benchmarking are provided by Amazon’s EC2 public cloud.
We use exclusively c5.2xlarge
instances as described here.
The c5.2xlarge
instance type has 8 vCPU (hardware threads) and 16 GiB of ram, with up to 10 Gbps networking.
Of particular note here, there are two generations of Intel hardware which may be used for any instance, entirely at Amazon’s discretion.
Software
The SIP benchmark tests used the following software.
Software | Version |
---|---|
Java |
Oracle Corporation OpenJDK 64-Bit Server VM 11.0.7+10-LTS |
Rhino |
Rhino 3.1.0 |
3.0.0.0 |
Rhino configuration
For the SIP benchmark tests, we made the following changes to the Rhino 3.1.0 default configuration.
Rhino’s memory sizes were adjusted as follows to gracefully handle the load required by this benchmark:
Parameter | Value |
---|---|
-Xmx |
8192M |
-Xms |
8192M |
-XX:MaxNewSize |
1536M |
-XX:NewSize |
1536M |
Staging queue size was adjusted to accommodate more than 2 seconds worth of events in the queue without loss, as a reasonable protection against sudden traffic spikes combining badly with garbage collection pauses.
Parameter | Value |
---|---|
Staging queue size |
25000 |
SIP configuration
The High Availability (HA) benchmarks are configured with replication disabled. We use TCP transport throughout to avoid retransmissions which can occur with UDP.
Benchmark results
Please review the SIP benchmark results here.