Поделиться через


Элемент <applicationPool> (Веб-параметры)

Задает параметры конфигурации, используемые ASP.NET для управления поведением на уровне процессов, когда приложение ASP.NET выполняется в интегрированном режиме в IIS 7.0 или более поздней версии.

Важное примечаниеВажно

Этот элемент и поддерживаемая им функция работают только в том случае, если приложение ASP.NET размещено в IIS 7.0 или более поздней версии.

<applicationPool 
    maxConcurrentRequestsPerCPU="5000" 
    maxConcurrentThreadsPerCPU="0" 
    requestQueueLimit="5000" />

Атрибуты и элементы

В следующих разделах описаны атрибуты, дочерние и родительские элементы.

Атрибуты

Атрибут

Описание

maxConcurrentRequestsPerCPU

Задает, сколько одновременных запросов ASP.NET разрешает для каждого ЦП.

maxConcurrentThreadsPerCPU

Задает, сколько потоков могут одновременно выполняться для пула приложений для каждого ЦП. Это обеспечивает альтернативный способ управления параллелизмом ASP.NET, так как позволяет ограничить количество управляемых потоков, которые могут использоваться на каждом ЦП для обслуживания запросов. По умолчанию для этого параметра задано значение 0, означающее, что ASP.NET не ограничивает количество потоков, которые могут быть созданы для каждого ЦП, хотя количество создаваемых потоков также ограничивается пулом потоков среды CLR.

requestQueueLimit

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

Дочерние элементы

Отсутствует.

Родительские элементы

Элемент

Описание

<system.web>

Содержит сведения о том, как ASP.NET взаимодействует с ведущим приложением.

Заметки

При запуске IIS 7.0 или более поздних версий в интегрированном режиме это сочетание элементов позволяет настроить, как ASP.NET управляет потоками и как помещает запросы в очередь, когда приложение размещено в пуле приложений IIS. При использовании IIS 6 или при использовании IIS 7.0 в классическом режиме либо режиме ISAPI эти параметры игнорируются.

Параметры applicationPool применяются ко всем пулам приложений, работающим в конкретной версии платформы .NET Framework. Эти параметры содержатся в файле aspnet.config. Существует версия этого файла для платформы .NET Framework версий 2.0 и 4. (В версиях 3.0 и 3.5 платформы .NET Framework используется файл aspnet.config версии 2.0.)

Важное примечаниеВажно

При использовании IIS 7.0 в Windows 7 можно настроить отдельные файлы aspnet.config для каждого пула приложений.Это позволяет настраивать производительностью потоков для каждого пула приложений.

Значение по умолчанию "5000" параметра maxConcurrentRequestsPerCPU в .NET Framework 4 эффективно отключает регулирование запросов, управляемое ASP.NET, кроме случаев, когда для каждого ЦП действительно имеется 5000 или более запросов. Вместо этого при значении по умолчанию автоматическое управление параллелизмом для каждого ЦП осуществляется пулом потоков среды CLR. Приложения, широко использующие асинхронную обработку запросов или имеющие много долговременных запросов, заблокированных в сетевых операциях ввода-вывода, выигрывают от увеличения предельного значения по умолчанию в .NET Framework 4. При установке для параметра maxConcurrentRequestsPerCPU нулевого значения использование управляемых потоков для обработки запросов ASP.NET отключается. Если приложение выполняется в пуле приложений IIS, запросы остаются в потоке ввода-вывода IIS и, следовательно, параллелизм регулируется параметрами потоков IIS.

Параметр requestQueueLimit работает таким же образом, как атрибут requestQueueLimit элемента processModel, который задается в файлах Web.config для приложений ASP.NET. Однако параметр requestQueueLimit в файле aspnet.config переопределяет параметр requestQueueLimit в файле Web.config. Другими словами, если заданы оба атрибута (по умолчанию этот так), приоритет имеет параметр requestQueueLimit из файла aspnet.config.

Пример

В приведенном ниже примере показано, как настроить в файле aspnet.config поведение ASP.NET на уровне всего процесса при следующих условиях:

  • Приложение размещено в пуле приложений IIS 7.0.

  • IIS 7.0 работает в интегрированном режиме.

  • Приложение использует .NET Framework 3.5 с пакетом обновления 1 (SP1) или более позднюю версию.

Значения, указанные в примере, являются значениями по умолчанию.

<configuration>
  <system.web>
    <applicationPool 
        maxConcurrentRequestsPerCPU="5000"
        maxConcurrentThreadsPerCPU="0" 
        requestQueueLimit="5000" />
  </system.web>
</configuration>

Сведения об элементе

Пространство имен

Имя схемы

Файл проверки

Может быть пустым

См. также

Ссылки

Элемент <system.web> (Веб-параметры)