В настоящее время я пытаюсь проанализировать проблему с производительностью, когда бритвенное представление ASP.NET MVC отображается очень медленно: для возврата ответа в браузер требуется более 40 секунд. Эта проблема возникает не всегда: обычно страница загружается за ~1/2 секунды.
Ниже приведено изображение части трассировки MiniProfiler, сделанной для указанной страницы, когда она загружается медленно. Столбец справа — это время, прошедшее с начала запроса, и трассировка показывает там большие скачки в несколько секунд во время рендеринга бритвенных представлений. Чего я действительно не понимаю, так это почему время в двух других столбцах («длительность (мс)» и «с детьми (мс)») не отражает эти многосекундные задержки: я ожидаю увидеть там большие числа также.
Что также бросается в глаза, так это тот факт, что большие задержки возникают при выполнении шагов «Find: EditorTemplates/...». Обратите внимание, что эти шаблоны не существуют (примечание: я не пытаюсь явно отображать эти шаблоны редактора, но их поиск, похоже, вызван сетка кендо mvc на странице). Могут ли большие задержки быть вызваны ожиданием дискового ввода-вывода, чтобы установить, что эти файлы не существуют? Если да, то как это могло только время от времени занимать несколько секунд и обычно выполняться относительно быстро?
Как мне интерпретировать эти результаты и что может быть причиной многосекундных задержек?