Таблица 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