IIS 7 со временем снижает производительность при отрисовке частичных представлений

У меня есть несколько веб-сайтов, на которых в настоящее время возникает следующая проблема. Со временем рендеринг определенного частичного представления (asp.net mvc 1) ухудшится и займет примерно в десять раз больше времени, чем обычно. В настоящее время у меня есть обходной путь, но он далек от идеала.

  1. Снимите этот узел с нашего балансировщика нагрузки
  2. Остановить IIS
  3. Удалите все временные файлы asp.net
  4. Запустить IIS
  5. Зайдите на сайт, чтобы заполнить кеши и скомпилировать просмотры
  6. Верните узел в режим ротации балансировщика нагрузки.

Я знаю, что это не перезапуск IIS, чтобы исправить это, кажется, что для правильной работы необходимо удалить временные файлы asp.net. После того, как эти шаги будут выполнены, производительность на сайте будет намного лучше примерно на три-шесть часов. После этого все снова становится ужасным. Частичное представление, имеющее проблемы, в значительной степени просто отображает некоторый html с кешированными данными. Нам вообще не удалось воспроизвести эту проблему в нашей среде разработки, поэтому мы довольно озадачены. Вскоре мы собираемся обновить нашу живую среду, поэтому я просто хотел бы знать, что вызывает эту проблему. Если это вообще связано с конфигурацией, я хочу убедиться, что она исправлена ​​с помощью нашей новой настройки. Кто-нибудь когда-нибудь видел это раньше?


person Ryan    schedule 12.08.2013    source источник


Ответы (2)


Здесь может быть много чего, начальный контрольный список

  • подтвердить, что приложение не развернуто в режиме отладки
  • какое ведение журнала вы используете и ведется ли оно чрезмерно?
  • в чем узкое место на сервере, когда это происходит? объем памяти? тогда вам, возможно, придется проверить на утечку
  • вы регулярно перерабатываете ваши пулы приложений?

Не могли бы вы подробнее рассказать о том, что на самом деле делает это частичное представление?

person dove    schedule 12.08.2013
comment
Это не в режиме отладки. У нас есть таймеры, которые отображаются для нас в панели отладки, я бы не сказал, что мы чрезмерно об этом говорим. Мы также используем newrelic, что указывает на то, что это проблема. Сервер по-прежнему работает очень хорошо. Пулы приложений не настроены на автоматическую переработку. Частичное представление используется для отображения элемента списка новостей на сайте. На главной странице их около 20. Это просто содержание сообщения, количество оставленных к нему комментариев и автор последнего комментария. После первой загрузки все это извлекается из нашего кеша данных. - person Ryan; 12.08.2013

Решением этой проблемы было удаление временных файлов asp.net. Мы интегрировали этот шаг в наш процесс развертывания, и в целом сайт стал работать быстрее.

person Ryan    schedule 09.01.2015