Hardware
FIXEdge Machine
- Intel(R) Xeon(R) CPU E5-2687W 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
Client Machine
- Intel(R) Xeon(R) CPU E5-2643W 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
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.24.1, usec | FIXAJ 2.19.4, usec | |
---|---|---|
Min | 8.952 | 9.008 |
Max | 209.407 | 215.935 |
Median | 9.295 | 9.271 |
Average | 9.522 | 9.53386 |
50% | 9.295 | 9.271 |
75% | 9.383 | 9.367 |
90% | 9.503 | 9.487 |
95% | 9.559 | 9.559 |
99% | 9.815 | 9.855 |
99.9% | 103.167 | 139.647 |
99.99% | 192.639 | 195.199 |