Я отправляю сообщения из разных мест в сети 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));
}
}
}
}