Memory Usage
Large number of instruments in securities stream
Large number (hundred thousands plus) instrument defined in TimeBase securities stream may take considerable memory foot print in Aggregator (since it maintains per instrument field-value cache).
You can reduce this memory footprint using two settings defined below
Instruments filter
Reduces set of instruments will be loaded into SecurityMetadata cache aggregator connectors may use. Example:
Aggregator.smd.instrumentFilter=Bloomberg$Symbol IS NOT NULL
Provided value must be valid QQL Condition.
Fields filter
Reduces set of fields SecurityMetadata cache will keep for each symbol (defined as comma-separated list). Example:
Aggregator.smd.fieldFilter=ActiveContract,Bloomberg$Symbol
Hybrid data connector buffer
When Hybrid data connector is used pay attention to live message buffer sizes specified via liveMsgBufferSize parameter (default is 20000).
<liveMsgBufferSize>20000</liveMsgBufferSize>
This parameter defines how many live messages could be accumulated. For example for feeds that collect trades each trade message is encoded in 40-50 bytes. If you multiply this by buffer size (20000) and number of instruments that may undergo gap recovery (say 2000), we would need 2G memory requirement just for these live message buffers.