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

...

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.

Noteinfo

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.