Versions Compared

Key

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

Table of Contents

Disk space recommendations

Rationale

FIXEdge constantly generates big volumes of the logs. Long-term work could exhaust all disk space which would result in unstable application operation.

...

  1. FIXEdge binaries and configuration (~1 GB)
  2. FIX session logs with FIX messages
    Depends on the maximum expected number of messages per day multiplied by the average size of messages.
  3. Application logs (tens - hundreds of MB per day):
    1. application status and errors
    2. sessions statuses changes
    3. validation errors
    4. monitoring notes
    Sessions and messages flow with issues and generate more logs than the issues-free flow. 
  4. Reserve extra space for core files (a few GB)

...

  1. Database consumes the similar size as sessions logs but it depends on content to be stored.

    Info

    It is recommended to have the Database setup on another disk or on a different server to make your architecture less vulnerable to failures.

  2. Enabled debug or trace information could generate several times more logging (all above multiplied 3).
  3. Disabled archiving and cleaning up (all above multiplied 365 per year).
  4. Foreseen growth as per business operational plans.
    In fact, MiFID II states that a financial institution should be prepared for handling messages twice bigger as the biggest one seen in the previous 6 months (all above-multiplied x 2).

Example

For the solution:

  • 130 active sessions
  • 160 000 000 messages pass through the system per day
  • simple routing from one FIX session to another FIX session

Total space:

  • Daily sessions logs take up 70 GB
  • Application logs occupy 320 MB
  • DB occupies 60 GB
Info
titleNote

For this example, daily sessions and application logs occupy about 8-10 GB after archiving.

Insufficient disk space mechanism

Info

The mechanism for handling insufficient disk space is available since FIXEdge C++ 6.14.0 release.

The minimal amount of free disk space for the FIXEdge session start can be configured via Persistents.MinDiskSpace property in the engine.properties file. By default, the value of this property is set to 50 Mb.

On session creation or switching to backup/primary connection, FIXEdge C++ automatically checks free space on the disc disk and if its amount is less than the value of Persistents.MinDiskSpace property, then FIXEdge C++ does not start a new session or does not switch to backup/primary connection.

...

Code Block
There is no enough free disk space on "<log_path>" (<available_space> Mb) to create a FIX session.

Also, FIXEdge C++ automatically checks free space on the disk while the session is running and once its amount is less than the value of Persistents.MinDiskSpace property, then FIXEdge C++ terminates the connection.

Note

Since FIXEdge C++ 6.14.0 release it is possible to specify different log directories for primary and backup connections of the session. In such a case FIXEdge C++ will check free disk space for each connection.