Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Hardware

...

Approach

Benchmarks were run against two different versions of FIX Antenna Java (2.24.2 and 2.19.4), and the results were compared in order to detect possible regressions.

Hardware

FIX Antenna 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

...

Client Machine

  • Intel(R) Xeon(R) CPU E5-2643 2687W v3 @ 3.40GHz 10GHz (2 CPU Hyper-Trading Enabled, 24 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

  • FIXAJ has one One acceptor session is configured on the server hostFIX Antenna Java side.
  • The client application has one One initiator session is configured on the client hostapplication side.

 The overall process is following:

  1. Client The client application connects to the FIXAJ instance FIX Antenna Java and sends 200000 FIX 4.2 messages with at a rate of 5000 50000 messages per second.
  2. FIXAJ FIX Antenna Java 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 via the same TCP/IP connection (the same session).
  3. The client application collects the response time histogram.
  4. The process is repeated 5 times for each FIX Antenna Java version.

The response time measured by the client application is the difference between timestamps:

  • t1 - timestamp is taken right before sending a message to the

...

  • socket
  • t2 - timestamp is taken right after receiving the same message

...

  • from the

...

  • socket (from the FIX Antenna Java)

So the round-trip time formula is: RTT = t2 - t1 and the measurement unit is measured in microseconds.

Results

Image Removed

...

microseconds.

The test scenario diagram:

Drawio
borderfalse
diagramNameFIX Antenna 2.24.2 Benchmark
simpleViewerfalse
width600
linksauto
tbstylehidden
diagramDisplayName
lboxfalse
diagramWidth540
revision1

Results

The performance of the FIX Antenna Java 2.24.2 release is almost the same as the performance of the FIX Antenna Java 2.19.4 release. There is no performance degradation or improvement.

Performance value slightly differs from run to run due to the nature of the system used to measure the performance.

Single Session Echo Scenario

Image Added

The table below contains a single run one-to-one comparison and may have some differences compared to the graphic above that shows a 5 runs comparison.


FIXAJ 2.24.2, usecFIXAJ 2.19.4, usec
Min9.
36
296
9
8.
008
968
Max
269
206.
567
335
215
210.
935
687
Median9.
967
6399.
271
263
Average
10
9.
6854
876569.
53386
56634
50%9.
967
6399.
271
263
75%
10
9.
535
7519.
367
399
90%
11
9.
359
8639.
487
599
95%
14
9.
647
9359.
559
727
99%
15
10.
815
863
9
10.
855
519
99.9%
85
108.
055
159
139
150.
647
655
99.99%
200
191.
319
999
195
194.
199
303