Approach
Benchmarks were run against two different FIXEdge versions (FIXEdge 6.14.0 and FIXEdge 6.13.0) to compare results. FIXEdge 6.14.0 version was also tested with enabled and disabled queueing to detect the feature's performance influence.
Versions
In order to detect possible regressions FIXEdge 6.14.0 and the previous FIXEdge 6.13.0 were tested:
- FIXEdge 6.13.0.500
- FIXEdge 6.14.0.527
Hardware
FIXEdge Machine
- Intel(R) Xeon(R) CPU E5-2687 v3 @ 3.10GHz (2 CPU Hyper-Trading Enabled, 20 Cores)
- RAM 128 GB, 2133 MHz
- NIC Solarflare Communications SFC9120 (Firmware-version: 4.2.2.1003 rx1 tx1)
- Linux (CentOS 7.0.1406 kernel 3.10.0-123.el7.x86_64)
- SolarFlare driver version: 4.1.0.6734a
Client Machine
- Intel(R) Xeon(R) CPU E5-2687 v3 @ 3.10GHz (2 CPU Hyper-Trading Enabled, 20 Cores)
- RAM 128 GB, 2133 MHz
- NIC Solarflare Communications SFC9120 (Firmware-version: 4.2.2.1003 rx1 tx1)
- Linux (CentOS 7.0.1406 kernel 3.10.0-123.el7.x86_64)
- SolarFlare driver version: 4.1.0.6734a
Benchmarks
Single Session Echo Scenario
A single session was defined. FIXEdge was configured to send every incoming message back to the sender. The sender posted messages at an approximately constant rate and collected the response time histogram. The response time is by definition the time interval between sending a message and receiving the reply.
The outputs of the benchmark are:
- the overall summary of each run.
- the response time of each message measured in nanoseconds.
- the histogram of the response times.
- the plot of the histogram of the response time.
- configuration and log files of FIXEdge and the sender app.
Benchmark's parameters:
Message count: 1000000
Message rate: 50000 messages per second
Two Sessions With Conversion Scenario
Two sessions were defined: the first one used FIX version 4.2, and the second used FIX 4.4. FIXEdge converted every message received in the 1st session to FIX 4.4 and sent it to the 2nd session. The sender connected to both sessions posted messages to the 1st session at an approximately constant rate and received replies in the second session. The quantity measured by this benchmark is the response time histogram. The response time is by definition the time interval between sending an N-th message and receiving an N-th reply.
Benchmark's parameters:
Message count: 1000000
Message rate: 50000 messages per second
Results
The performance of FIXEdge 6.14.0 is the same as the performance of the previous FIXEdge 6.13.0 version. So there is no performance degradation within the release.
Two Sessions With Conversion Scenario
Single Session Echo Scenario
Stability
Several series of tests have been performed with different FIXEdge versions during the benchmark. There was no significant spread of results observed during benchmark runs.