How much RequestMsg per EMA Consumer C#

moez.rebai
moez.rebai Newcomer
edited May 9 in EMA

Using EMA C#, I wonder to know if there is a limit of the number of subscriptions/RequestMsg per OmmConsumer ?

In fact I have 10000 rics that I need to monitor them, thus I create an OmmConsumer object and then using this consumer I create my subscritpions using :

var ommConsumerConfig = new OmmConsumerConfig(options.Value.RootDirectory)
.ConsumerName(consumerName)
.UserName(options.Value.UserName);

var consumer = new OmmConsumer(ommConsumerConfig); // 10000 rics foreach (var ric in rics)
{ var requestMsg = new RequestMsg(); requestMsg.ServiceName(ric.Source).Name(ric.Ric).DomainType(6); var id = consumer .RegisterClient(requestMsg, this); } //….

Now what I can see is that :

1- 🤨 Once I create the consumer memory increase by 500Mb

2-🙄 After the 1000 subscriptions I cannot receive responses for the rest of rics

So is it good to use the same consumer for all susbcriptions ? and why memory increase by 500Mb for each new consumer ?

Reagrds,

Moez

Best Answer

  • Gurpreet
    Gurpreet admin
    Answer ✓

    The infrastructure will definitely provide a response - either positive or negative (status message) for every subscription. It might be possible that some of these responses are getting lost in your application. Could you give it a try with one of the EMA examples and also turn on the OMM logging in the SDK.

    You can also ask for the logs from the ADS to see what is happening in the infrastructure at that time.

Answers

  • Gurpreet
    Gurpreet admin

    Hello Moez,

    I don't see any limit of 10k instruments in the code. What status message do you get for the other instruments? In the real time space - it is the update rate and not the number of instruments which are the bottleneck. These numbers are not a hard limit and will vary based on machine being used, quality of the network and the RTMDS infrastructure providing the data.

    If the combined update rate is low or the feed is conflating data, then the instrument limit can be quite high. Multiple consumers cannot alleviate these issues, if you start running into slow consumer or bandwidth limitations.

    You can also try the Batch subscription example from EMA .NET.

  • moez.rebai
    moez.rebai Newcomer
    edited May 8

    Hello @Gurpreet

    Thank you for your prompt reply.

    In fact I did not put all the code I used (I can provide you with a Sample if it's needed )

    and In my case, for a single OmmConsumer I m retrieving only two fileds using View ( thus not many updates)

    I did not get any status message for my subscriptions, but for many of them I did not receive any message after even 3 minutes, however when try to send a single request for one of the non responding requests, I got an immediate response.

  • moez.rebai
    moez.rebai Newcomer