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

Перезагрузка пула приложений с ограничением памяти iis убивает выполнение запросов

У меня есть служба WCF, которая может увеличиваться в памяти. Я установил ограничение памяти на частные байты, чтобы повторно использовать пул приложений после 500 м использования памяти. Я заметил, что мой процесс w3wp.exe может достигать 600 мегабайт, когда он решает переработать, и любые текущие клиентские запросы получают ошибку связи. Есть ли способ для iis дождаться завершения запросов перед повторной обработкой процесса?

Переработка убивает процесс, когда он достигает определенных условий, заменяя его другим.

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

Утилизируемые процессы достигают {предела времени выключения}, чтобы выключиться, с момента, когда им велят утилизировать.

Если они не могут закончить свою работу за это время {90 секунд по умолчанию}, то все.

Если вы используете узел WCF с постоянным подключением, я думаю, что ответ отрицательный; но ответ также: «выберите более широкие пределы». То, что вы описали как свою политику, звучит так: «Я хочу, чтобы мое приложение умерло, когда оно достигнет 500 МБ». Но само приложение не знает об этом ограничении; он просто пытается расти так, как ему нужно.

Загрузите ваше приложение без ограничений; посмотреть, к чему это ведет и что может указывать на утечку; установить пределы в точке, где указана утечка.