Итак, наш хостинг-провайдер недавно переместил наш тестовый сервер из одной среды в другую, виртуализированную среду. После перемещения некоторые вещи в тестовой среде стали очень медленными.
Например, вход на удаленный рабочий стол был медленным, без использования удаленного рабочего стола, просто входил в систему. Также некоторые приложения asp.net, которые обычно работают как ветер, теперь работают как черепаха. После долгих споров о причине такого замедления я начал исследовать реальную проблему.
Последняя интересная находка была обнаружена, когда я установил dotTrace на тестовом сервере. Запуск страницы, которая, как я знал, будет работать плохо, я получил следующие (высокоуровневые) результаты для потока, который выполнил работу для проблемной страницы:
Real/wall time: 45538 ms
Thread time: 375 ms
Насколько я знаю, это означает, что Поток тратит ужасно долгое время, не будучи исполненным.
Моя собственная теория о том, что виртуальная среда отдает приоритет работе других серверов над моим сервером. Может ли это быть причиной? Что ты думаешь?
Примечание: если вам нужны более подробные данные, такие как фактические следы, у меня нет проблем с их выдачей, если вы спросите.
Редактировать: Подробнее!
Самые дорогие звонки в трассировке:
1 вызов KeyInfoX509Data.ctor (X509Certificate, X509IncludeOption): 30014 мс
1 звонок в SignedXml.ComputeSignature: 15045 мс
Детали трассировки