Медленное время отклика TTFB / сервера в модуле ManagePipelineHandler - PullRequest
0 голосов
/ 12 марта 2020

Каждый раз, когда я запускаю домашнюю страницу проекта, с которым я работаю, загрузка занимает столько времени (время загрузки страницы 6-8 секунд). И проверка с webpagetest.org, первоначальный запрос занимает больше чем 5000 мс или 5 секунд для TTFB.

Настройка среды:

  • ASP. Net MVC
  • IIS 8,5

После тщательного расследования и проверка журналов трассировки IIS, длительное ожидание происходит в модуле ManagePipelineHandler с 7515 мс / 7,5 с (это последовательно происходит с AspNetPagePreInitEnter , AspNetPageInitEnter и AspNetPageInitLeave ). Пример в журнале трассировки IIS ниже:

Журналы трассировки IIS, где происходит зависание

И как я ищу, что зависает на этом ASP. NET события означают, но я не могу найти какой-либо конкретный ответ о причинах этого зависания или причинах такого зависания.

Любая помощь очень ценится.

1 Ответ

0 голосов
/ 13 марта 2020

Прежде всего, вы можете попытаться отключить антивирус.

Чтобы выяснить причину root, рекомендуется сбросить файл, поскольку в ManagePipelineHandler произошло длительное ожидание.

Может потребоваться захватить 2-3 файла дампа, генерируя дамп каждые 2 секунды. Затем мы можем сравнить управляемый стек вызовов. Он расскажет нам, что делает поток. Мы можем улучшить производительность только тогда, когда знаем, что она делает.

Если вы не знаете, как анализировать файл дампа, попробуйте

https://www.microsoft.com/en-us/download/details.aspx?id=58210

Если вы знаете, как анализировать файл дампа, вы можете попробовать расширение mex с помощью WINDBG.

! Mex.aspxpagesext покажет все текущие запросы в своем потоке.

Пока мы знаем идентификатор потока, мы можем использовать mex.clrstack2 ! показать управляемый стек вызовов

...