Страницы

Поиск по вопросам

пятница, 29 ноября 2019 г.

При первом заходе на сайт, который крутится на IIS, сайт очень долго открывается

#iis #windows_server_2012


При первом заходе на сайт, который крутится на IIS 8 на Windows Server 2012 r2, сайт
очень долго открывается. потом работает нормально, через некоторое время захожу - снова
долго открывается. С чего начать искать в чем проблема, или может кто-то подскажет
решение?.. Элементарные вещи, как ресурсы сервера, стабильность подключение по сети
проверил, все норм...
    


Ответы

Ответ 1



По умолчанию IIS останавливает неактивные сайты для сохранения ресурсов сервера, и на компьютерах разработчиков или на серверах по типу "все в одном" это - нормальное поведение. Если у вас выделенный сервер специально для сайтов - можно настроить чтобы сайт был доступен всегда. Для этого надо зайти в дополнительные параметры пула приложений и поменять следующие настройки (названия настроек привожу для русского IIS для Windows 8.1, другие версии могут немного отличаться - но принцип тот же): Режим запуска (startMode): AlwaysRunning Тайм-аут простоя (idleTimeout): 0 Скриншот: https://i.stack.imgur.com/okN53.png Если у вас статический сайт - этого достаточно. Но статический сайт и без этого тормозить не должен, поэтому я предполагаю что у вас веб-приложение. Чтобы веб-приложение быстро работало, оно должно запуститься и загрузить свои ресурсы ("прогреть кеши"). Это тоже можно сделать автоматически. Для этого надо установить модуль IIS под названием "Инициализация приложений" (Application Initialization), если он ранее не был установлен. Дальше надо зайти в дополнительные параметры вашего веб-приложения (или сайта, если оно развернуто в корне) и включить там Предварительная установка включена (preloadEnabled): True Да, перевод довольно корявый. Но какой есть. Скриншот: https://i.stack.imgur.com/piqK5.png Теперь осталось прописать один или несколько URL-адресов, по которым IIS будет сам делать запросы, пробуждая тем самым веб-приложение ото сна. Для этого надо зайти в редактор конфигурации веб-приложения, выбрать там раздел "system.webServer/applicationInitialization" и отредактировать коллекцию по умолчанию. Скриншот: https://i.stack.imgur.com/jms2L.png Эти настройки далее попадут в файл web.config. Если вы используете средства автоматического развертывания, то они могут перезатереть ваши настройки в этом файле. Тут есть два решения. Первое: необходимые адреса может прописать разработчик и сохранить вместе с остальным исходным кодом проекта. Второе: надо переключить уровень конфигурации в интерфейсе, чтобы ваши настройки попали в конфиг, лежащий в другом месте. Скриншот: https://i.stack.imgur.com/uThfr.png

Ответ 2



Может дело не в операционной системе и окружении, а в самом сайте? Судя по поведению ваш сайт медленно загружается именно в момент скачивания файлов, а далее браузер уже берет данные из кэша, поэтому все работает быстрее (через определенное время браузер снова запрашивает файлы из-за чего и возникают тормоза. Попробуйте выполнить аппаратную перезагрузку и посмотрите на waterfall в инструментах разработчика Chrome. Для аппаратной перезагрузки и очистки кэша - открываем инструменты разработчика, щелкаем правой кнопкой мыши на иконке обновления перед адресной строкой и выбираем соответствующий пункт. Вполне возможно, что на скорость влияют большие файлы шрифтов или изображений. Также при первой загрузке может идти долгий поиск DNS, но это уже надо смотреть по графику, сложно сказать навскидку. Также не помешает на сервере вести статистику (например, munin или любые другие средства, собирающие информацию о системе). Некоторые провайдеры увлекаются на хостинге/VDS срезанием ресурсов, так что может и из-за этого. Надо смотреть графики по процессору и времени отклика страницы. Если падают доступные процессорные ресурсы или увеличивается время отклика, то значит нужно изучать ситуацию на самом сервере.

Ответ 3



У меня была подобная проблема. НА VDS хостинге всего 1 гигабайт оперативки, и когда через RDP во время администрирования было открыто много окон, приложений, а выйдя с RDP я их забыл закрыть, оказалось что оперативной памяти не хватает и сайт очень тормозит. Решением было закрывать все лишние окна и приложения при выходе с RDP.

Комментариев нет:

Отправить комментарий