Performance tuning

Information about performance is available in the Performance Lab on the official web site.

There is a set of session parameters that can be controlled to optimize session performance:

  • SessionStorageType - parameter of the V12.FIXAntenna.SessionParameters class. Specifies type of the message storage. Transient message storage is the best for performance.

  • DisableTCPBuffer - enables or disables TCP buffer (Nagle algorithm).

  • MaxMessagesAmountInBunch - allows FIX Antenna grouping messages in buffer before sending.

  • SocketOpPriority - Priority of the socket send/receive operations

FIX Antenna is highly optimized for throughput and latency. Obviously these two optimization parameters can never be satisfied both at the same time. Improving throughput by for example combining small packages in a single bunch decreases the number of buffer allocations and network interrupts and thus minimizes the average message sending time, however it introduces a delay in sending a single package and thus increases latency.

For higher througput it is recommended to

  • set DisableTCPBuffer parameter to false

  • set SocketOpPriority to AGGRESSIVE_SEND_AND_RECEIVE

  • and set MaxMessagesAmountInBunch to 0.

For lower latency it is recommended to

  • set DisableTCPBuffer parameter to true

  • set SocketOpPriority to AGGRESSIVE_SEND_AND_RECEIVE

  • and set MaxMessagesAmountInBunch to 1.