나는 RabbitMQ를 통한 메시지 전송 속도를 높이는 방법을 모색합니다.RabbitMQ 전송 속도가 빨라 집니까?
Windows 64 비트에 최신 버전을 설치하고 C# 구현을 통해 게시 및 소비하는 로컬 컴퓨터에서 서버를 실행했습니다. 처음에는 인상적이지만 내 요구 사항에 맞지 않는 초 당 40,000 메시지를 초과했습니다. (초당 2400 만 개의 unparsed 16 바이트 큰 바이트 배열을 처리 할 수있는 사용자 정의 바이너리 리더와 경쟁하며, 분명히 그 근처에 도달 할 것으로 기대하지는 않지만 나는 적어도 개선하려고 시도한다). 가능한 한 빨리 115,000,000 개의 메시지를 보내야합니다. 나는 데이터를 유지하기를 원하지 않으며 연결은 단일 소비자에게 직접적으로 이루어질 것입니다. 그런 다음 필자는 16b 바이트 배열의 청크를 작성하여 개선하지 않고 버스에 게시했습니다. 전송 속도는 45mb/초로 최대화되었습니다. 나는 교환기에 의한 라우팅의 효율성 비율이 원시 전송 속도에 비해 무시할 수있는 몇 메가 바이트 크기의 바이트 배열을 생성 할 수 있기 때문에 결국에는 원시 전송 속도로 종결되어야한다는 사실을 감안할 때 매우 느립니다. 왜 내 메시지 버스는 초당 45MB 속도로 전송됩니까?
소비자가 1 명인 경우 TCP를 통해 직접 보내지 않으시겠습니까? 당신은 정말로 메시지 버스가 필요하지 않습니다. –
IO (네트워크, 디스크)와 CPU가이 테스트 중에 어떻게 생겼습니까? – Xailor
아마도 당신은 rabbitmq 대신 zeromq를보아야합니다. 귀하의 작업은 0mq에 적합하다고 보입니다. 적어도 그들은 메시지 크기 (16 바이트)에 대해 초당 약 3,000,000 개의 메시지를 요구합니다. http://www.zeromq.org/results:0mq-tests-v03 –