Seeking Performance Improvement Advice for High-Frequency Batch Requests

I'm currently conducting performance testing on batch requests with Refinitiv ADS server and encountering some issues with response times in high-frequency scenarios. I would appreciate any advice to improve performance.

Scenario 1:

  • Frequency: 1 batch request every 20ms
  • Each request: contains 10 RIC codes
  • Totoal Requests: 3000
  • Response Time: Requests are completed between 100ms and 300ms

Scenario 2:

  • Frequency: 1 batch request every 10ms(higher frequency than Scenario 1)
  • Other Parameters: Same as Scenario 1 (10 RIC codes per request, 3000 total requests)
  • Issue: A significant number of requests are taking more than 1000ms to complete

I'm trying to understand why there's a drastic increase in response time in the second scenario and how I might optimize it. Is there a limit to the number of requests that can be efficiently processed per second?

Thanks

Best Answer

  • Gurpreet
    Gurpreet admin
    Answer ✓

    Hi @xinjames.chen,

    Your market data admin might be able to look at ADS logs and provide guidance why certain requests take longer. It may be some buffers on ADS and EMA side might need to be tuned. You can play with these buffer and TCP delay parameter configurations and look at the description in the EMA configuration guide.

    In general, the response time from ADS will be fast if the requested instrument is in the ADS cache. Your admin might be able to increase the instrument cache and pre-populate it with frequent instruments.

    In general however, if you need faster response look into horizontally scaling your application and connect to multiple load balanced ADSs. Using EMA C++ would also help, since it will send a true batch request.

Answers