Назад | Перейти на главную страницу

IIS7: как обрабатывать пулы приложений, которые используют слишком много памяти или ЦП?

Как обрабатывать пулы приложений, которые используют слишком много памяти или ЦП? Я хотел бы иметь возможность выбрать, сколько времени пул приложений использует определенный объем памяти или ЦП (или и то, и другое), прежде чем он будет переработан. Есть идеи, как этого добиться? IIS7 позволяет уничтожать пул приложений, когда он достигает определенного уровня использования ЦП, но я заинтересован в его переработке.

Спасибо

При установке IIS рекомендуется использовать диспетчер ресурсов Windows Server. Он включен в некоторые выпуски Windows Server - проверьте свой список функций, чтобы узнать, есть ли он там.

Эта утилита поддерживает пул приложений и позволяет ограничивать ЦП и рабочий набор для пулов приложений.

Это менее разрушительно, чем триггер перезапуска, основанный на потреблении ЦП, но требует тщательной настройки. Обычно это имеет значение только тогда, когда один пул приложений перегружен, что похоже на вашу ситуацию; возможно, стоит проверить.

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

  1. Запустите inetmgr
  2. На панели Подключения разверните имя сервера и щелкните Пулы приложений.
  3. Выберите желаемый пул приложений
  4. На панели Действия щелкните Переработка

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

Тем не менее, я не думаю, что вам нужно перерабатывать пул приложений при нормальных обстоятельствах. Если вам нужно делать это очень часто, я бы сказал, что у вас либо «плохое» приложение, либо вам нужно предоставить приложению больше ресурсов.