Таблица 18.1. Элемент <processModel> в файле machine.config

Конфигурация Описание
enable Разрешает или запрещает модель процессов ASP.NET. Если модель процессов разрешена, то среда времени выполнения ASP.NET выполняется в своем собственном рабочем процессе. В противном случае приложения ASP.NET выполняются непосредственно в процессе Web-сервера.

timeout Определяет сколько времени ASP.NET будет ожидать рабочего процесса, прежде чем создать новый экземпляр рабочего процесса. Таким образом, если рабочий процесс по какой-либо причине "зависает", то остальные приложения ASP.NET все равно будут доступными, так как среда времени выполнения создает новый рабочий процесс.

idleTimeout Каждому рабочему процессу требуются некоторые ресурсы в памяти. Следовательно, если запросы поступают редко, исполняющая среда может прекратить работу процесса, чтобы сберечь ресурсы. Это значение определяет, как долго среда времени выполнения будет ожидать останова рабочего процесса, если он простаивает и не обрабатывает никаких запросов.

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

requestLimit Если количество запросов, обработанных рабочим процессом, превышает заданное число, исполняющая среда запускает другой рабочий процесс. Старый рабочий процесс завершает обработку ранее присоединенных запросов, после чего его работа прекращается.

requestQueueLimit Если количество требующих обработки запросов в очереди рабочего процесса превышает это число, ASP.NET возвращает ошибку с кодом 503 (сервер слишком нагружен). Это действие особенно полезно для сдерживания атак типа отказа в обслуживании, если говорить о требуемых процессах. (Если поступает слишком много запросов, и для каждого запроса требуется очень много памяти, то ресурсов на сервере может просто не хватить.) Оперировать этим параметром нужно осторожно. Другая проблема заключается в том, что если вы зададите этому параметру слишком маленькое число, то не исключено, что слишком много пользователей получат ошибку с кодом 503. Это может снова привести к атаке типа отказа в обслуживании, при которой будут блокироваться запросы реальных пользователей, если злоумышленник в буквальном смысле "завалит" сервер бессмысленными запросами. Таким образом, одного этого параметра недостаточно, чтобы сдерживать атаки на отказ в обслуживании (с другой стороны, их вообще сложно сдерживать). Для этой цели желательно подобрать подходящую архитектуру приложения и запретить анонимным пользователям хранение больших объемов данных.

restartQueueLimit Определяет, какое максимальное количество запросов (по умолчанию 5) будет находиться в очереди во время ожидания перезапуска рабочего процесса после аварийного прекращения работы.

предыдущая    следующая страница    вначало главы    оглавление

752

Hosted by uCoz