다음을 통해 공유


<applicationPool> 요소(웹 설정)

ASP.NET 애플리케이션이 IIS 7.0 이상 버전의 통합 모드에서 실행되는 경우 ASP.NET 프로세스 전체 동작을 관리하는 데 사용되는 구성 설정을 지정합니다.

중요합니다

이 요소와 지원하는 기능은 ASP.NET 애플리케이션이 IIS 7.0 이상 버전에서 호스트되는 경우에만 작동합니다.

<configuration><system.web><applicationPool>

문법

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

특성 및 요소

다음의 섹션은 특성, 자식 요소 및 부모 요소에 대해 설명합니다.

Attributes

특성 Description
maxConcurrentRequestsPerCPU CPU당 ASP.NET 허용되는 동시 요청 수를 지정합니다.
maxConcurrentThreadsPerCPU 각 CPU에 대해 애플리케이션 풀에 대해 실행할 수 있는 동시 스레드 수를 지정합니다. 이렇게 하면 요청을 제공하기 위해 CPU당 사용할 수 있는 관리되는 스레드 수를 제한할 수 있으므로 ASP.NET 동시성을 제어하는 다른 방법을 제공합니다. 기본적으로 이 설정은 0입니다. 즉, CLR 스레드 풀도 만들 수 있는 스레드 수를 제한하지만 ASP.NET CPU당 만들 수 있는 스레드 수를 제한하지 않습니다.
requestQueueLimit 단일 프로세스에서 ASP.NET 위해 큐에 대기할 수 있는 최대 요청 수를 지정합니다. 둘 이상의 ASP.NET 애플리케이션이 단일 애플리케이션 풀에서 실행되는 경우 애플리케이션 풀의 모든 애플리케이션에 대해 수행되는 누적 요청 집합은 이 설정의 적용을 받습니다.

자식 요소

없음.

부모 요소

요소 Description
<System.web> ASP.NET 호스트 애플리케이션과 상호 작용하는 방법에 대한 정보를 포함합니다.

비고

통합 모드에서 IIS 7.0 이상 버전을 실행하는 경우 이 요소 조합을 사용하면 애플리케이션이 IIS 애플리케이션 풀에서 호스트될 때 ASP.NET 스레드 및 큐 요청을 관리하는 방법을 구성할 수 있습니다. IIS 6을 실행하거나 클래식 모드 또는 ISAPI 모드에서 IIS 7.0을 실행하는 경우 이러한 설정은 무시됩니다.

설정은 applicationPool 특정 버전의 .NET Framework에서 실행되는 모든 애플리케이션 풀에 적용됩니다. 설정은 aspnet.config 파일에 포함되어 있습니다. .NET Framework 버전 2.0 및 4.0에 대한 이 파일의 버전이 있습니다. (.NET Framework 버전 3.0 및 3.5는 aspnet.config 파일을 버전 2.0과 공유합니다.)

중요합니다

Windows 7에서 IIS 7.0을 실행하는 경우 모든 애플리케이션 풀에 대해 별도의 aspnet.config 파일을 구성할 수 있습니다. 이렇게 하면 각 애플리케이션 풀에 대한 스레드의 성능을 조정할 수 있습니다.

이 설정의 maxConcurrentRequestsPerCPU 경우 .NET Framework 4의 기본 설정인 "5000"은 실제로 CPU당 5,000개 이상의 요청이 없는 한 ASP.NET 제어되는 요청 제한을 효과적으로 해제합니다. 기본 설정은 CPU당 동시성을 자동으로 관리하기 위해 CLR 스레드 풀에 따라 달라집니다. 비동기 요청 처리를 광범위하게 사용하거나 네트워크 I/O에서 많은 장기 실행 요청이 차단된 애플리케이션은 .NET Framework 4의 증가된 기본 제한을 활용할 수 있습니다. 0으로 설정 maxConcurrentRequestsPerCPU 하면 관리되는 스레드를 사용하여 ASP.NET 요청을 처리할 수 없습니다. 애플리케이션이 IIS 애플리케이션 풀에서 실행되는 경우 요청은 IIS I/O 스레드에 유지되므로 IIS 스레드 설정에 의해 동시성이 제한됩니다.

이 설정은 requestQueueLimit ASP.NET 애플리케이션의 Web.config 파일에 설정된 requestQueueLimit 요소의 특성과 동일한 방식으로 작동합니다. 그러나 aspnet.config 파일의 requestQueueLimit 설정은 Web.config 파일의 설정을 재정의 requestQueueLimit 합니다. 즉, 두 특성이 모두 설정된 경우(기본적으로 true requestQueueLimit ) aspnet.config 파일의 설정이 우선합니다.

예시

다음 예제에서는 다음과 같은 상황에서 aspnet.config 파일에서 ASP.NET 프로세스 전체 동작을 구성하는 방법을 보여 줍니다.

  • 애플리케이션은 IIS 7.0 애플리케이션 풀에서 호스트됩니다.

  • IIS 7.0은 통합 모드에서 실행됩니다.

  • 애플리케이션에서 .NET Framework 3.5 SP1 이상 버전을 사용하고 있습니다.

예제의 값은 기본값입니다.

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

참고하십시오