2010-09-21 20 views
5

Tengo problemas para descifrar un archivo de traza WCF, y espero que alguien me ayude a determinar en qué parte de la interconexión estoy incurriendo en latencia. A continuación se muestra la traza de "Mensaje de procesamiento XX", donde parece haber un retardo de 997 ms entre el límite de actividad y la transferencia a "Acción de proceso" donde se ejecuta mi código de servicio (que tarda aproximadamente 50 ms).WCF Trace Log analysis - help

Processing Message trace

primer lugar, estoy seguro de si estoy en lo cierto en la comprensión de la columna "Tiempo" para representar el tiempo de inicio de la actividad elemento. Creo que este es el caso porque, al explorar en el seguimiento "Acción de procesamiento", aparece una lista de actividades con la primera marca de tiempo igual a la marca de tiempo que se muestra en el seguimiento anterior para la opción "Acción de procesamiento".

Mi pregunta principal es esta: ¿cómo puedo determinar lo que está sucediendo durante este lapso de 997ms? Cuando leí sobre el visor de seguimiento de servicio, parece que este tipo de actividad implica "transporte o procesamiento de seguridad", lo que me lleva a pensar que es un problema de red, pero no estoy seguro.

En caso de que sea relevante, a continuación se muestra una instantánea de la búsqueda detallada de la traza "Proceso de acción".

Processing Action trace

¿Alguien tiene una idea de cómo perforar aún más en esta actividad para determinar la causa de la demora?

(Debo mencionar que el tiempo de respuesta varía de ~ 60 ms a lo largo de un segundo completo, y sólo parece hacerlo en un entorno específico, lo que me lleva más a la idea de un problema de red)

¡Gracias de antemano!

Respuesta

0

que sugeriría la adición de un origen de seguimiento adicional, específicamente la red de rastreo de orígenes de seguimiento ver How to: Configure Network Tracing

Puede System.Net y System.Net.Sockets. Esto debería ayudar a corroborar su problema de red superada.

Como comentario, la actividad en cuestión implica transporte o procesamiento de seguridad, en experiencia previa descubrí que si usa seguridad basada en certificados para identidades de clientes o seguridad de mensajes usando certificados, el canal WCF puede verse afectado por la latencia de atravesar la cadena de certificados para verificar los certificados. Es posible que esto no se aplique en su caso ya que es posible que no esté usando la seguridad basada en certificados.

2

Estaba teniendo el mismo problema. Mis tiempos de transferencia variaron desde 100 de milisegundos hasta 4 segundos. Instalé Wireshark en el servidor y vi numerosos errores de transmisión de paquetes de red. Fue impresionante que la pila de red pudiera resolverlo todo y que los mensajes eventualmente pasaran. Eventualmente noté que la configuración de "Velocidad y dúplex" para el controlador de la NIC del servidor estaba configurada a 100Mb lleno. El cliente de prueba estaba en Auto y había un par de interruptores entre ellos. Pensaría que todos los dispositivos podrían resolver esto, pero evidentemente no. Cambiar el valor del servidor a Auto resolvió los errores de red y los retrasos en la transferencia de trazas desaparecieron.