<applicationPool-element> (webbinställningar)
Anger konfigurationsinställningar som används av ASP.NET för att hantera processomfattande beteende när ett ASP.NET-program körs i integrerat läge på IIS 7.0 eller en senare version.
Viktigt
Det här elementet och funktionen som stöds fungerar bara om ditt ASP.NET-program finns i IIS 7.0 eller senare versioner.
<Konfiguration>
<System.web>
<applicationPool>
Syntax
<applicationPool
maxConcurrentRequestsPerCPU="5000"
maxConcurrentThreadsPerCPU="0"
requestQueueLimit="5000" />
Attribut och element
I följande avsnitt beskrivs attribut, underordnade element och överordnade element.
Attribut
Attribut | Beskrivning |
---|---|
maxConcurrentRequestsPerCPU |
Anger hur många samtidiga begäranden ASP.NET tillåter per PROCESSOR. |
maxConcurrentThreadsPerCPU |
Anger hur många samtidiga trådar som kan köras för en programpool för varje CPU. Detta är ett alternativt sätt att styra ASP.NET samtidighet eftersom du kan begränsa antalet hanterade trådar som kan användas per PROCESSOR för att hantera begäranden. Som standard är den här inställningen 0, vilket innebär att ASP.NET inte begränsar antalet trådar som kan skapas per CPU, även om CLR-trådpoolen också begränsar antalet trådar som kan skapas. |
requestQueueLimit |
Anger det maximala antalet begäranden som kan placeras i kö för ASP.NET i en enda process. När två eller flera ASP.NET program körs i en enda programpool omfattas den kumulativa uppsättningen begäranden som görs till alla program i programpoolen av den här inställningen. |
Underordnade element
Inga.
Överordnade element
Element | Beskrivning |
---|---|
<System.web> | Innehåller information om hur ASP.NET interagerar med ett värdprogram. |
Kommentarer
När du kör IIS 7.0 eller en senare version i integrerat läge kan du med den här elementkombinationen konfigurera hur ASP.NET hanterar trådar och köbegäranden när programmet finns i en IIS-programpool. Om du kör IIS 6 eller kör IIS 7.0 i klassiskt läge eller i ISAPI-läge ignoreras dessa inställningar.
applicationPool
Inställningarna gäller för alla programpooler som körs på en viss version av .NET Framework. Inställningarna finns i en aspnet.config fil. Det finns en version av den här filen för versionerna 2.0 och 4.0 av .NET Framework. (Versionerna 3.0 och 3.5 av .NET Framework dela aspnet.config-filen med version 2.0.)
Viktigt
Om du kör IIS 7.0 på Windows 7 kan du konfigurera en separat aspnet.config fil för varje programpool. På så sätt kan du anpassa trådens prestanda för varje programpool.
För inställningen maxConcurrentRequestsPerCPU
inaktiverar standardinställningen "5000" i .NET Framework 4 effektivt begärandebegränsning som styrs av ASP.NET, såvida du inte faktiskt har 5 000 eller fler begäranden per PROCESSOR. Standardinställningen beror i stället på CLR-trådpoolen för att automatiskt hantera samtidighet per CPU. Program som i stor utsträckning använder asynkron bearbetning av begäranden, eller som har många långvariga begäranden blockerade i nätverkets I/O, drar nytta av den ökade standardgränsen i .NET Framework 4. Om du anger maxConcurrentRequestsPerCPU
noll inaktiveras användningen av hanterade trådar för bearbetning av ASP.NET begäranden. När ett program körs i en IIS-programpool finns begäranden kvar på IIS I/O-tråden och därför begränsas samtidigheten av IIS-trådinställningarna.
Inställningen requestQueueLimit
fungerar på samma sätt som requestQueueLimit
attributet för processModel-elementet , som anges i Web.config filer för ASP.NET program. Inställningen i en aspnet.config-fil åsidosätter requestQueueLimit
dock requestQueueLimit
inställningen i en Web.config fil. Om båda attributen med andra ord anges (som standard är detta sant) requestQueueLimit
har inställningen i aspnet.config-filen företräde.
Exempel
I följande exempel visas hur du konfigurerar ASP.NET processomfattande beteende i aspnet.config-filen under följande omständigheter:
Programmet finns i en IIS 7.0-programpool.
IIS 7.0 körs i integrerat läge.
Programmet använder .NET Framework 3.5 SP1 eller en senare version.
Värdena i exemplet är standardvärdena.
<configuration>
<system.web>
<applicationPool
maxConcurrentRequestsPerCPU="5000"
maxConcurrentThreadsPerCPU="0"
requestQueueLimit="5000" />
</system.web>
</configuration>