WCF Trace Log анализ - помощь - PullRequest
       8

WCF Trace Log анализ - помощь

5 голосов
/ 22 сентября 2010

У меня возникают проблемы с расшифровкой файла трассировки WCF, и я надеюсь, что кто-то может помочь мне определить, где в конвейере у меня возникают задержки.Трассировка «Обработка сообщения ХХ» показана ниже, где, как представляется, задержка 997 мс между границей действия и переходом в «Действие процесса», где выполняется мой сервисный код (который занимает около 50 мс).

Processing Message trace

Во-первых, я не уверен, правильно ли я понимаю столбец «Время» для представления времени начала для элемента действия.Я полагаю, что это так, поскольку при детализации трассировки «Обработка» отображается список действий с первой отметкой времени, равной отметке времени, показанной на приведенной выше трассировке для элемента «Обработка».

Мой основной вопрос таков: как мне определить, что происходит в течение этого промежутка времени 997 мс?Когда я читаю о средстве просмотра трассировки службы, кажется, что этот тип активности включает «обработку транспорта или безопасности», что заставляет меня поверить, что это проблема сети, но я не уверен в этом.

В случае, если это такниже приведен снимок детализации к трассировке «Действие процесса».

Processing Action trace

Кто-нибудь знает, как углубиться в это действие, чтобы точно определить причинузадержки?

(Я должен упомянуть, что время отклика варьируется от ~ 60 мс до более полной секунды, и кажется, что это происходит только в конкретной среде, что еще больше подводит меня к идеепроблема с сетью)

Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 05 октября 2012

У меня была идентичная проблема.Мое время передачи варьировалось от 100 миллисекунд до 4 секунд.Я установил Wireshark на сервер и увидел многочисленные ошибки передачи сетевых пакетов.Было впечатляюще, что сетевой стек мог разобраться во всем, и сообщения в конечном итоге прошли.В конце концов я заметил, что параметр «Скорость и дуплекс» для драйвера сетевой карты сервера был установлен на 100 МБ Full.Тестовый клиент был в Авто, и между ними было несколько переключателей.Я думаю, что все устройства могут разобраться с этим, но, очевидно, нет.Изменение значения сервера на Авто разрешило сетевые ошибки, и задержки передачи трассировки исчезли.

0 голосов
/ 08 ноября 2011

Я бы предложил добавить дополнительный источник трассировки, в частности источники трассировки сети, см. Как: настроить трассировку сети

Вы можете использовать System.Net и System.Net.Sockets. Это должно помочь подтвердить вашу предполагаемую проблему с сетью.

Кроме того, вы упомянули, что рассматриваемое действие включает в себя обработку транспорта или безопасности, из предыдущего опыта я обнаружил, что если вы используете безопасность на основе сертификатов для идентификации клиентов или защиту сообщений с использованием сертификатов, канал WCF может зависеть задержка прохождения цепочки сертификатов для проверки сертификатов. Это может не относиться к вам, поскольку вы не используете безопасность на основе сертификатов.

...