by Valeriano Tortola
29. enero 2008 00:46
Si con MSMQ 3.0 y Windows 2003 Server SP2 se te amontonan los mensajes en las colas de Outgoing (salida)... haciendo que tarden en entregarse ó incluso que lleguen a caducar allí... antes de liarse a patadas con nada... existen diversos motivos por los que puede suceder:
- Los más básicos, problemas de conectividad, de resolución de nombres, de permisos, de acceso.... conviene repasar este FAQ.
- Tienes activado el modo Hardened MSMQ.
- Las colas tienen cuotas pequeñas y los journals están llenos.
- La red tiene una conectividad cuestionable (alta latencia, bajo ancho de banda, packetloss, ...etc...) y MSMQ falla a menudo en entregar los mensajes, lo cual hace que tenga que esperar 60 segundos para el reintento. Hasta el SP1 el tiempo de espera entre reintentos era de 5 segundos (algo razonable, pero 60?!... ), para cambiar este valor hay que añadir la clave WaitTime al registro de Windows en su sección para MSMQ.
- Tienes una cantidad ingente de colas de salida y una conectividad cuestionable:
- Si se usa una topología en estrella ó consideras más que suficiente el ancho de banda como para comunicarte con el resto de máquinas puedes aumentar la cantidad de hilos disponibles en el thread pool de MSMQ para agilizar el envio añadiendo la clave QMThreadNo al registro de Windows en su sección para MSMQ. De esta forma, aunque las transferencias sean lentas... se podrán paralelizar más de ellas.
- Si no, puedes recurrir a comprimir el contenido de los mensajes (no incluido en MSMQ 3.0) mediante por ejemplo los algoritmos de compresión GZip ó Deflate.
1857b50e-e6ac-46bc-8fab-5fd8b9bdd241|1|4.0
Tags: msmq
Windows