Ограничения производительности для NetMQ - PullRequest
0 голосов
/ 05 ноября 2018

Я отправляю сообщения из разных мест в сети 10G. Я использую шаблон Pub / Sub.

Отправляемые мной сообщения сериализуются с использованием zeroFormatter и имеют длину около 270 байтов.

Как только я начинаю отправлять более 150K сообщений в секунду, я замечаю, что подписчик начинает пропускать сообщения.

Как узнать, какие лимиты я могу рассчитывать на отправку?

РЕДАКТИРОВАТЬ 1:

Я отправляю чуть менее 1 миллиарда бит / с, что составляет десятую часть емкости моей сети. После этого момента я начинаю пропускать сообщения. Будет ли это из-за проблем с процессором? Ни отправитель, ни получатель не кажутся высокоиспользованными ...

   private void BackgroundProcess()
    {
        int msgSeqNum = 0;
        using (var server = new PublisherSocket())
        {
            server.Options.SendHighWatermark = 1000;
            server.Bind(Connection);


            var address = Key;
            FastTickData fastTickData;
            while (true)
            {

                if (O.TryTake(out fastTickData, 60000))
                {
                    msgSeqNum++;
                    server.SendMoreFrame(address).SendMoreFrame(msgSeqNum.ToString()).SendMoreFrame(DateTime.UtcNow.ToString("yyyyMMddTHHmmssffffff")).SendFrame(ZeroFormatterSerializer.Serialize(fastTickData));
                }

            }

        }
    }
...