Moniteur d'activité montrant une longue durée pour WAITFOR RECEIVE

8

Dans le Moniteur d'activité, la requête suivante provoque un processeur élevé et une durée moyenne de 281 ms.

WAITFOR (
RECEIVE conversation_handle
    , service_contract_name
    , message_type_name
    , message_body 
FROM ExternalMailQueue 
INTO @msgs
)
, TIMEOUT @rec_timeout

Une idée ou des étapes pour résoudre ce problème?

Ankit Shah
la source
Je vois que vous avez également posté sur SSC. Avez-vous suivi l'une des étapes fournies à cet utilisateur? par exemple regarder à travers les journaux?
swasheck

Réponses:

11

Ceci est un hareng rouge. WAITFOR (RECEIVE...)est par définition censé ... attendre les messages! Par conséquent, 281 secondes se sont écoulées, cela signifie simplement que pendant 281 secondes, aucun message n'a été reçu. Dans ce cas, l'application est le processus d'envoi externe de la messagerie de base de données qui reste inactif en attendant que les messages soient mis en file d'attente (c'est-à-dire en attente sp_send_db_maild'être appelé). Il n'y a rien à «résoudre» ici.

Remus Rusanu
la source
Oui, d'accord complètement - parfait!
Peter Schofield