Performance limits for NetMQ

750 views Asked by At

I am sending messages from various places on my 10G network. I am using a Pub/Sub pattern.

The messages I send are serialized using zeroFormatter and have length of approx 270 bytes.

Once I start to send over 150K message per sec, I notice the subscriber starting to miss messages.

How do I work out what the limits I can expect to be able to send are?

EDIT 1:

I am sending just under 1 billion bits/sec, which is a 10th of the capacity of my network. After this point I start to miss messages. Would this be due to CPU issues? Neither sender or receiver seem highly utilized...

   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));
                }

            }

        }
    }
0

There are 0 answers