Bagikan melalui


Elemen <applicationPool> (Pengaturan Web)

Menentukan pengaturan konfigurasi yang digunakan oleh ASP.NET untuk mengelola perilaku di seluruh-proses saat aplikasi ASP.NET berjalan dalam mode Terintegrasi pada IIS 7.0 atau versi yang lebih baru.

Penting

Elemen ini dan fitur yang didukungnya hanya berfungsi jika aplikasi ASP.NET Anda dihosting di IIS 7.0 atau versi yang lebih baru.

<konfigurasi>
  <system.web>
    <applicationPool>

Sintaks

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

Atribut dan Elemen

Bagian berikut menjelaskan atribut, elemen turunan, dan elemen induk.

Atribut

Atribut Deskripsi
maxConcurrentRequestsPerCPU Menentukan berapa banyak permintaan simultan yang ASP.NET izinkan per CPU.
maxConcurrentThreadsPerCPU Menentukan berapa banyak utas simultan yang dapat berjalan untuk kumpulan aplikasi untuk setiap CPU. Ini menyediakan cara alternatif untuk mengontrol konkurensi ASP.NET, karena Anda dapat membatasi jumlah utas terkelola yang dapat digunakan per CPU untuk melayani permintaan. Secara default pengaturan ini adalah 0, yang berarti bahwa ASP.NET tidak membatasi jumlah utas yang dapat dibuat per CPU, meskipun kumpulan utas CLR juga membatasi jumlah utas yang dapat dibuat.
requestQueueLimit Menentukan jumlah maksimum permintaan yang dapat diantrekan untuk ASP.NET dalam satu proses. Ketika dua atau lebih aplikasi ASP.NET berjalan dalam satu kumpulan aplikasi, kumpulan permintaan kumulatif yang dibuat untuk aplikasi apa pun di kumpulan aplikasi tunduk pada pengaturan ini.

Elemen Anak

Tidak ada.

Elemen Induk

Elemen Deskripsi
<system.web> Berisi informasi tentang bagaimana ASP.NET berinteraksi dengan aplikasi host.

Keterangan

Saat Anda menjalankan IIS 7.0 atau versi yang lebih baru dalam mode Terintegrasi, kombinasi elemen ini memungkinkan Anda mengonfigurasi cara ASP.NET mengelola utas dan cara mengantre permintaan saat ASP.NET dihosting di kumpulan aplikasi IIS. Jika Anda menjalankan IIS 6 atau menjalankan IIS 7.0 dalam mode Klasik atau dalam mode ISAPI, pengaturan ini diabaikan.

Pengaturan applicationPool berlaku untuk semua kumpulan aplikasi yang berjalan pada versi .NET Framework tertentu. Pengaturan ini terdapat dalam file aspnet.config. Ada versi file ini untuk versi 2.0 dan 4.0 dari .NET Framework. (Versi 3.0 dan 3.5 dari .NET Framework berbagi file aspnet.config dengan versi 2.0.)

Penting

Jika Anda menjalankan IIS 7.0 di Windows 7, Anda dapat mengonfigurasi file aspnet.config terpisah untuk setiap kumpulan aplikasi. Ini memungkinkan Anda menyesuaikan performa utas untuk setiap kumpulan aplikasi.

Untuk pengaturan maxConcurrentRequestsPerCPU, pengaturan default "5000" di .NET Framework 4 secara efektif mematikan pembatasan permintaan yang dikendalikan oleh ASP.NET, kecuali Anda benar-benar memiliki 5000 atau lebih permintaan per CPU. Pengaturan default bergantung justru pada kumpulan utas CLR untuk mengelola konkurensi per CPU secara otomatis. Aplikasi yang memanfaatkan pemrosesan permintaan asinkron secara ekstensif, atau yang memiliki banyak permintaan jangka panjang yang diblokir pada I/O jaringan, akan mendapat manfaat dari peningkatan batas default dalam .NET Framework 4. Pengaturan maxConcurrentRequestsPerCPU ke nol menonaktifkan penggunaan utas terkelola untuk memproses permintaan ASP.NET. Saat aplikasi berjalan di kumpulan aplikasi IIS, permintaan tetap berada di utas IIS I/O dan oleh karena itu konkurensi dibatasi oleh pengaturan utas IIS.

Pengaturan requestQueueLimit bekerja dengan cara yang sama seperti atribut requestQueueLimit dari elemen processModel, yang diatur dalam file Web.config untuk aplikasi ASP.NET. Namun, pengaturan requestQueueLimit dalam file aspnet.config mengambil alih pengaturan requestQueueLimit dalam file Web.config. Dengan kata lain, jika kedua atribut diatur (secara default, ini benar), pengaturan requestQueueLimit dalam file aspnet.config akan diutamakan.

Contoh

Contoh berikut menunjukkan cara mengonfigurasi perilaku di seluruh proses ASP.NET dalam file aspnet.config dalam keadaan berikut:

  • Aplikasi ini dihosting di kumpulan aplikasi IIS 7.0.

  • IIS 7.0 berjalan dalam mode Terintegrasi.

  • Aplikasi ini menggunakan .NET Framework 3.5 SP1 atau versi yang lebih baru.

Nilai dalam contoh merupakan nilai default.

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

Lihat juga