Busco ideas sobre cómo acelerar las transferencias de mensajes a través de RabbitMQ.RabbitMQ velocidades de transferencia aceleran?
Instalé la última versión en Windows 64 bit, ejecutando un servidor en mi máquina local en el que también publico y consumo desde/hacia una implementación C#. Inicialmente llegué al límite a 40,000 mensajes por segundo, lo cual es impresionante pero no se ajusta a mis necesidades (compito con un lector binario personalizado que puede manejar 24 millones de arreglos de bytes grandes de 16 bytes por segundo, obviamente no espero acercarme a eso, pero Intento mejorar al menos). Necesito enviar alrededor de 115,000,000 de mensajes lo más rápido posible. No quiero persistir en los datos y la conexión va a ser directa a un solo consumidor. Luego construí fragmentos de mis matrices de bytes 16b y los publiqué en el bus sin ninguna mejora. La tasa de transferencia llegó al máximo a 45mb/segundo. Esto me parece muy lento dado el hecho de que al final debería reducirse a velocidad de transmisión sin formato porque podría crear matrices de bytes del tamaño de varios megabytes donde la tasa de eficiencia del enrutamiento por el intercambio se vuelve insignificante frente a la velocidad de transmisión en bruto. ¿Por qué mi bus de mensajes tiene un máximo de velocidad de transferencia de 45 mb/seg?
si solo hay 1 consumidor, ¿por qué no enviar directamente a través de TCP? no necesitas un bus de mensajes. –
¿Cómo se ve su IO (red, disco) y CPU durante estas pruebas? – Xailor
probablemente deberías mirar a zeromq en lugar de rabbitmq. Su tarea parece ser adecuada para 0mq. Al menos reclaman alrededor de 3_000_000 mensajes por segundo en ese tamaño de mensaje (16 bytes). http://www.zeromq.org/results:0mq-tests-v03 –