2 votes

Msmq - Les messages ne sont pas envoyés si la file d'attente est trop grosse?

Nous avons récemment rencontré un problème où MSMQ (sur Windows Server 2008 R2 dans un groupe de travail) a arrêté d'envoyer des messages. Il s'est avéré que c'était parce que MSMQ avait atteint la limite de stockage des messages et répondait donc à tout avec l'erreur redoutée d''insuffisance de ressources'.

Jusque-là, d'accord, mais voici la chose : Autant que nous puissions le dire, les messages qui utilisaient tout l'espace disque étaient tous destinés à une file d'attente sur une autre machine (nous supposons que l'autre machine avait temporairement arrêté d'accepter des messages pour des raisons que nous n'avons pas encore comprises, ce qui a entraîné un engorgement de tout dans le MSMQ d'envoi). Donc, traiter ces messages devrait en fait libérer de l'espace disque. En effet, ce que nous avons constaté, c'est qu'aussitôt que nous avons supprimé la limite de stockage des messages sur la machine d'envoi, les messages ont commencé à être envoyés. Et à un moment donné plus tard (nous n'avons pas vu quand, mais ce fil de discussion MSMQ continues to grow even when there are no messages are in the queue indique que cela aurait pu être 6 heures plus tard), tous les messages p*****.mq qui occupaient l'espace disque ont été nettoyés, nous permettant de rétablir la limite de stockage.

Il n'a aucun sens pour nous que MSMQ refuse d'envoyer ces messages en raison du dépassement de la limite de stockage, alors que l'envoi des messages aurait libéré de l'espace de stockage. Mais toutes les preuves que nous avons montrent que c'est ce qui s'est passé. Quelqu'un peut-il confirmer si c'est en fait la façon dont MSMQ se comporte?

2voto

SentientBacon Points 933

L'état de la file d'attente de sortie à ce moment-là fournirait quelques informations.
Ce qui s'est probablement passé est le suivant :

1 MSMQ QM1 envoie un message
2 MSMQ QM2 envoie un message d'accusé de réception
3 Le message d'accusé de réception ne peut pas être livré car le quota est dépassé
4 MSMQ QM1 ne peut pas terminer l'envoi (je suppose des messages transactionnels)
5 aller à 1

Dès que le quota est levé, ces étapes peuvent se terminer avec succès.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X