2008-12-11 2 views
11

Наша команда построила сайт с использованием Sharepoint и нескольких пользовательских веб-страниц. Мы заметили, что сайту требуется время для загрузки при первом обращении к сайту утром. Последующие обращения прекрасны. Мы подозреваем, что Sharepoint переиндексирует свои списки и т. Д.Сайт Sharepoint занимает некоторое время, чтобы загрузить первое, что нужно утром

Неужели кто-нибудь еще видел эту проблему с Sharepoint? У кого-нибудь есть исправление?

ответ

17

По умолчанию приложение IIS будет перерабатывать рабочие процессы в течение ночи. Вы можете отключить это в диспетчере IIS, но лучшим вариантом может быть просто добавить сценарий разминки к заданию времени. Вы можете сделать это в SharePoint, но проще всего просто добавить запланированную задачу в Windows, чтобы запустить сценарий разминки после завершения переработки.

Google для «Sharepoint прогрева сценария» даст несколько результатов, including this, который собственно и объясняет ту же ситуацию :-)

2

Нет. Я бы предположил, что скомпилированные компоненты в приложении были выгружены из памяти и их необходимо перезагрузить в кеш. Это происходит и с моими веб-приложениями ASP.NET. Я особенно замечаю это на сайтах QA, которые не попадают почти так же часто и поэтому почти всегда удаляются из кеша, когда я иду к ним.

Вы можете посмотреть на увеличение количества времени, которое app pool для вашего сайта ждет, прежде чем перерабатывать незанятый рабочий процесс.

2

Согласитесь с tvanfosson, что это звучит очень похоже на то, что начинается с того, что вы получаете с приложениями aspnet.

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

3

Я думаю, что рабочие процессы пула приложений в настроены на переработку в определенное время каждую ночь в IIS, что вызывает первую задержку утром. Щелкните правой кнопкой мыши пул приложений в IIS -> Свойства -> и посмотрите, где он говорит «Переработать рабочие процессы в следующие моменты:», чтобы убедиться сами.

Вы можете отключить эту опцию, чтобы исправить свою проблему, но я не рекомендую ее, потому что каждый рабочий процесс перерабатывает каждую ночь, восстанавливая любую память, которая могла просочиться. Утечки памяти особенно возможны во время разработки SharePoint, потому что, как вы знаете, многие объекты в объектной модели SharePoint выполняют большую часть своей работы в неизмененной памяти. Если эти объекты не будут удалены должным образом, большой объем памяти может быть занят при добавлении небольшого давления памяти на сборщик мусора .NET, задерживая сбор мусора.

Best Practices: Using Disposable Windows SharePoint Services Objects

Я согласен с предложением seanb о создании запланированного задания, чтобы загрузить сайт утром, чтобы решить проблему задержки. Просто убедитесь, что вы планируете это на какое-то время после того, как рабочие процессы переработаны, очевидно.

1

Конечно, Бьорн подчеркивает основную причину «проблемы». Пул приложений перерабатывается в ночное время.

Однако это займет примерно 30 секунд.

Если вам требуется примерно 2 или 3 минуты, подумайте о том, чтобы прочитать this. Если у вас нет доступа к Интернету, это объясняет, почему это так медленно. Просто попробуйте загрузить список отзыва сертификатов с microsoft.com, чтобы узнать, не имеет значения.

1

Если вы используете Windows Server 2008 R2, теперь для расширения IIS 7.5 available for free есть расширение Warm-Up приложения. На момент написания он в бета-версии.

Это «разогревает» пул приложений, напрямую настроенный из IIS, а также может быть дополнен пользовательской логикой инициализации.

Расширение приложения Warm-Up больше не доступно и будет «изменено на новую версию IIS» according to Microsoft.

+0

Это звучало идеально, но, к сожалению, оно, похоже, было потянуто. Спасибо хоть. – 2011-11-15 08:30:27

Смежные вопросы