Нужно ли перезапускать пул приложений IIS 7? Применяется ли такая же практика к другим веб-серверам? - PullRequest
1 голос
/ 11 января 2010

Мне просто интересно, почему перезапуск пула приложений IIS 7 считается хорошей практикой? Я знаю, что он очистит бесхозные ресурсы, такие как потоки или состояние сеанса, но как другой веб-сервер справляется с такой проблемой? Должен ли Java-разработчик / администратор периодически перезапускать weblogic / websphere / apache / tomcat для очистки ненужной памяти?

Ответы [ 2 ]

3 голосов
/ 11 января 2010

Обычно используется для компенсации плохого программирования. Иногда ваши, иногда третьи лица в зависимости от используемых вами библиотек.

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

Начните с профилирования приложения. Простой способ - просто дать ему поработать некоторое время под нагрузкой. Посмотрите, как утилизируется память или постоянно ли она растет?

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

0 голосов
/ 11 января 2010

С IIS возможно иметь неуправляемый код - лучший пример - объект COM -, который не ведет себя хорошо. В результате вы можете настроить свой IIS на периодическую перезагрузку процессов, чтобы учесть утечку памяти, которая может произойти с таким кодом.

Хотя делать это не обязательно. Вы можете отменить пороги перезапуска, если предпочитаете не перезапускать процессы.

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

...