Hardware
Client Machine
- Intel(R) Xeon(R) CPU E5-2687W 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
FIXEdge Machine
- Intel(R) Xeon(R) CPU E5-2643 v3 @ 3.40GHz (2 CPU Hyper-Trading Enabled, 24 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
Description
Single Session Echo Scenario
- FIXAJ has one acceptor session configured on the server host.
- The client application has one initiator session configured on the client host.
The overall process is following:
- Client application connects to the FIXAJ instance and sends 200000 FIX 4.2 messages with a rate of 5000 messages per second.
- FIXAJ receives the messages and matches them to the same session using business layer logic.
- FIXAJ responds to the client application with the same message in the same session.
The response time measured by the client application is the difference between timestamps:
- t1 - timestamp is taken right before sending a message to the client session;
- t2 - timestamp is taken right after receiving the same message in the client back from FIXAJ.
The round-trip time formula is: RTT=t2-t1 and is measured in microseconds.
Results
FIXAJ 2.20.1, usec | FIXAJ 2.19.4, usec | |
---|---|---|
Min | 9.36 | 9.232 |
Max | 269.567 | 268.287 |
Median | 9.967 | 9.847 |
Average | 10.6854 | 10.5028 |
50% | 9.967 | 9.847 |
75% | 10.535 | 10.359 |
90% | 11.359 | 10.943 |
95% | 14.647 | 4.127 |
99% | 15.815 | 15.279 |
99.9% | 85.055 | 107.007 |
99.99% | 200.319 | 197.503 |