Я ищу идеи, как ускорить передачу сообщений через RabbitMQ.Скорость передачи RabbitMQ ускоряется?
Я установил последнюю версию на 64-разрядной версии Windows, запустив сервер на своей локальной машине, на которой я также публикую и потребляю/из реализации C#. Я изначально максимизировал 40 000 сообщений в секунду, что впечатляет, но не соответствует моим потребностям (я конкурирую с пользовательским двоичным считывателем, который может обрабатывать 24 миллиона нераспакованных 16-байтных массивов больших байт в секунду, очевидно, я не ожидаю, что приблизиться к этому, но Я пытаюсь улучшить как минимум). Мне нужно отправить около 115 000 000 сообщений как можно быстрее. Я не хочу сохранять данные, и соединение будет направлено на одного единственного потребителя. Затем я построил куски моих 16-байтовых массивов и опубликовал их на автобусе без каких-либо улучшений. Скорость передачи максимальная - 45 мб/с. Я нахожу это очень медленным, учитывая тот факт, что в конце концов он должен просто сводиться к необработанной скорости передачи, потому что я мог создавать массивы байтов размером в несколько мегабайт, где коэффициент эффективности маршрутизации на бирже становится незначительным по сравнению со скоростью передачи. Почему моя максимальная пропускная способность моего сообщения составляет скорость передачи данных 45 Мбит/с?
если есть только 1 потребитель, почему бы не отправить напрямую через TCP? вам действительно не нужна шина сообщений. –
Какова ваша IO (сеть, диск) и процессор, как во время этих тестов? – Xailor
, вероятно, вы должны посмотреть на zeromq вместо rabbitmq. Ваша задача кажется подходящей для 0mq. По крайней мере, они требуют около 3_000_000 сообщений в секунду на размер этого сообщения (16 байт). http://www.zeromq.org/results:0mq-tests-v03 –