Bagikan melalui


Batas ASP <>

Gambaran Umum

Elemen <limits> elemen menentukan batas koneksi dan antrean <asp> Halaman Server Aktif (ASP) berikut untuk Internet Information Services (IIS) 7:

  • Atribut bufferingLimit mengatur ukuran maksimum buffer ASP. Jika buffering respons diaktifkan, atribut ini mengontrol jumlah maksimum byte yang dapat ditulis halaman ASP ke buffer respons sebelum flush terjadi.

  • Atribut maxRequestEntityAllowed menentukan jumlah maksimum byte yang diizinkan dalam isi entitas permintaan ASP. Jika header Content-Length ada dan menentukan jumlah data yang lebih besar dari nilai maxRequestEntityAllowed, IIS mengembalikan respons kesalahan HTTP 403 .

  • Atribut processorThreadMax menentukan jumlah maksimum utas pekerja per prosesor yang dapat dibuat IIS.

    Catatan

    Pengaturan ini dapat secara dramatis memengaruhi skalabilitas aplikasi Web Anda dan performa server Anda secara umum. Karena atribut ini menentukan jumlah maksimum permintaan ASP yang dapat dijalankan secara bersamaan, pengaturan ini harus tetap pada nilai default kecuali aplikasi ASP Anda melakukan panggilan yang diperluas ke komponen eksternal.

  • Atribut queueConnectionTestTime menentukan jumlah detik permintaan dapat diantrekan sebelum ASP menentukan apakah klien masih tersambung. Jika permintaan diantrekan lebih lama dari jumlah detik yang ditentukan oleh atribut queueConnectionTestTime , ASP memeriksa untuk menentukan apakah klien masih tersambung sebelum menjalankan permintaan. Jika klien tidak lagi terhubung, permintaan tidak diproses dan dihapus dari antrean.

    Catatan

    Paling sering, pengguna tidak menunggu lebih dari beberapa detik agar halaman ASP diproses. Meskipun waktu tunggu maksimum bervariasi dari pengguna ke pengguna, maksimum yang diterima umumnya adalah sekitar 10 detik. Anda dapat menggunakan atribut queueConnectionTestTime untuk memastikan bahwa IIS tidak membuang waktu memproses permintaan yang telah ditinggalkan oleh pengguna. Atribut ini berguna untuk membuat pemrosesan ASP efisien hanya hingga titik di mana ASP mulai memproses skrip. Namun, setelah skrip berjalan, aplikasi Anda harus terus memeriksa koneksi klien pada waktu yang tepat dengan menggunakan metode IsClientConnected dari objek Respons bawaan ASP.

  • Atribut queueTimeout menentukan jumlah waktu (dalam detik) bahwa permintaan skrip ASP diizinkan untuk menunggu dalam antrean. Ketika permintaan ditarik dari antrean, permintaan diperiksa untuk melihat apakah permintaan telah kedaluwarsa (telah menunggu lebih lama dari nilai parameter ini). Permintaan yang kedaluwarsa ditolak dengan pesan yang menunjukkan server terlalu sibuk.

  • Atribut requestQueueMax menentukan jumlah maksimum permintaan ASP bersamaan yang diizinkan ke dalam antrean. Browser klien apa pun yang mencoba meminta file ASP ketika antrean penuh dikirimi kesalahan HTTP 500 Server Terlalu Sibuk .

  • Atribut scriptTimeout menentukan (dalam detik) durasi default waktu halaman ASP memungkinkan skrip berjalan sebelum mengakhiri skrip dan menulis peristiwa ke Log Peristiwa Windows. Skrip ASP dapat mengganti nilai ini dengan menggunakan properti ScriptTimeout dari objek Sesi bawaan ASP. Properti ScriptTimeout memungkinkan aplikasi ASP Anda untuk mengatur nilai batas waktu skrip yang lebih tinggi. Misalnya, Anda dapat menggunakan pengaturan ini untuk menyesuaikan waktu habis setelah pengguna tertentu membuat sesi yang valid dengan masuk atau memesan produk.

Kompatibilitas

Versi Catatan
IIS 10.0 Elemen <limits> tidak dimodifikasi dalam IIS 10.0.
IIS 8.5 Elemen <limits> tidak dimodifikasi dalam IIS 8.5.
IIS 8.0 Elemen <limits> tidak dimodifikasi dalam IIS 8.0.
IIS 7.5 Elemen <limits> tidak dimodifikasi dalam IIS 7.5.
IIS 7.0 Elemen <limits><asp> elemen diperkenalkan di IIS 7.0.
IIS 6.0 Elemen menggantikan <limits> properti metabase IIS 6.0 berikut:
  • AspBufferingLimit
  • AspMaxRequestEntityAllowed
  • AspProcessorThreadMax
  • AspQueueConnectionTestTime
  • AspQueueTimeout
  • AspRequestQueueMax
  • AspScriptTimeout

Siapkan

Untuk mendukung dan mengonfigurasi aplikasi ASP di server Web, Anda harus menginstal modul ASP. Untuk menginstal modul ASP, gunakan langkah-langkah berikut.

Windows Server 2012 atau Windows Server 2012 R2

  1. Pada taskbar, klik Manajer Server.
  2. Di Manajer Server, klik menu Kelola , lalu klik Tambahkan Peran dan Fitur. - Di wizard Tambahkan Peran dan Fitur , klik Berikutnya. Pilih jenis penginstalan dan klik Berikutnya. Pilih server tujuan dan klik Berikutnya.
  3. Pada halaman Peran Server , perluas Server Web (IIS), perluas Server Web, perluas Pengembangan Aplikasi, lalu pilih ASP.
    Cuplikan layar S P dipilih di bawah Pengembangan aplikasi dalam daftar Server Web (I I S) yang diperluas.
  4. Jika kotak dialog Tambahkan fitur yang diperlukan oleh ASP? muncul, klik Tambahkan Fitur. (Halaman ini hanya muncul jika Anda belum menginstal layanan peran Ekstensi ISAPI di server Anda.)
  5. Pada halaman Peran Server, klik Berikutnya.
  6. Pada halaman Pilih fitur, klik Berikutnya.
  7. Pada halaman Konfirmasi pilihan instalasi, klik Instal.
  8. Pada halaman Hasil , klik Tutup.

Windows 8 atau Windows 8.1

  1. Pada layar Mulai, pindahkan penunjuk ke sudut kiri bawah, klik kanan tombol Mulai, lalu klik Panel Kontrol.

  2. Di Panel Kontrol, klik Program dan Fitur, lalu klik Aktifkan atau nonaktifkan fitur Windows.

  3. Perluas Layanan Informasi Internet, perluas World Wide Web Services, perluas Fitur Pengembangan Aplikasi, lalu pilih ASP.
    Cuplikan layar A S P dipilih di antarmuka Windows 8.

    Catatan

    Peran Ekstensi ISAPI akan dipilih jika belum diinstal.

  4. Klik OK.

  5. Klik Tutup.

Windows Server 2008 atau Windows Server 2008 R2

  1. Pada taskbar, klik Mulai, arahkan ke Alat Administratif, lalu klik Manajer Server.
  2. Di panel hierarki Manajer Server , perluas Peran, lalu klik Server Web (IIS).
  3. Di panel Server Web (IIS), gulir ke bagian Layanan Peran , lalu klik Tambahkan Layanan Peran.
  4. Pada halaman Pilih Layanan Peran dari Wizard Tambahkan Layanan Peran, pilih ASP.
    Cuplikan layar S P yang dipilih di bawah Pengembangan aplikasi di Wizard Tambahkan Layanan Peran.
  5. Jika kotak dialog Tambahkan layanan peran yang diperlukan oleh ASP muncul, klik Tambahkan Layanan Peran yang Diperlukan. (Halaman ini hanya muncul jika Anda belum menginstal layanan peran Ekstensi ISAPI di server Anda.)
    Cuplikan layar dialog Tambahkan Layanan Peran dengan tombol Tambahkan Layanan Peran yang Diperlukan ditekankan.
  6. Pada halaman Pilih Layanan Peran , klik Berikutnya.
  7. Pada halaman Konfirmasi Pilihan Penginstalan , klik Instal.
  8. Pada halaman Hasil , klik Tutup.

Windows Vista atau Windows 7

  1. Pada taskbar, klik Mulai, lalu klik Panel Kontrol.
  2. Di Panel Kontrol, klik Program dan Fitur, lalu klik Aktifkan atau nonaktifkan Fitur Windows.
  3. Perluas Layanan Informasi Internet, lalu World Wide Web Services, lalu Fitur Pengembangan Aplikasi.
  4. Pilih ASP, lalu klik OK.
    Cuplikan layar A S P dipilih di antarmuka Windows Vista atau Windows 7.

Bagaimana Caranya

Cara mengonfigurasi pengaturan cache ASP untuk server

  1. Buka Pengelola Layanan Informasi Internet (IIS):

    • Jika Anda menggunakan Windows Server 2012 atau Windows Server 2012 R2:

      • Pada bilah tugas, klik Manajer Server, klik Alat, lalu klik Pengelola Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows 8 atau Windows 8.1:

      • Tahan tombol Windows, tekan huruf X, lalu klik Panel Kontrol.
      • Klik Alat Administratif, lalu klik dua kali Manajer Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows Server 2008 atau Windows Server 2008 R2:

      • Pada bilah tugas, klik Mulai, arahkan ke Alat Administratif, lalu klik Pengelola Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows Vista atau Windows 7:

      • Pada taskbar, klik Mulai, lalu klik Panel Kontrol.
      • Klik dua kali Alat Administratif, lalu klik dua kali Manajer Layanan Informasi Internet (IIS).
  2. Di panel Koneksi , sorot nama server Anda.

  3. Di panel Beranda server, klik dua kali ASP.
    Cuplikan layar panel Beranda SERVER dengan A S P dipilih.

  4. Di panel ASP , perluas bagian Properti Batasan , konfigurasikan pengaturan yang Anda inginkan, lalu klik Terapkan di panel Tindakan .
    Cuplikan layar panel A S P dengan bagian Properti Batas diperluas.

Konfigurasi

Atribut

Atribut Deskripsi
bufferingLimit Atribut uint opsional.

Menentukan ukuran maksimum, dalam byte, dari buffer ASP. Jika buffering respons diaktifkan, atribut ini mengontrol jumlah maksimum byte yang dapat ditulis halaman ASP ke buffer respons sebelum flush terjadi. Nilai ini adalah bilangan bulat dalam rentang dari 0 hingga 2147483647.

Nilai defaultnya adalah 4194304.
maxRequestEntityAllowed Atribut uint opsional.

Menentukan jumlah maksimum byte yang diizinkan di seluruh isi permintaan ASP. Nilai ini adalah bilangan bulat dalam rentang dari 0 hingga 2147483647.

Nilai defaultnya adalah 200000.
processorThreadMax Atribut uint opsional.

Menentukan jumlah maksimum utas pekerja per prosesor yang dapat dibuat ASP.

Nilai defaultnya adalah 25.
queueConnectionTestTime Atribut timeSpan opsional.

Menentukan interval waktu (hh:mm:ss) setelah itu ASP akan memeriksa untuk melihat apakah klien masih tersambung sebelum menjalankan permintaan. Jika klien tidak lagi terhubung, permintaan tidak diproses dan dihapus dari antrean.

Nilai defaultnya adalah 00:00:03.
queueTimeout Atribut timeSpan opsional.

Menentukan periode waktu maksimum (hh:mm:ss) bahwa permintaan ASP dapat menunggu dalam antrean permintaan.

Nilai defaultnya adalah 00:00:00.
requestQueueMax Atribut uint opsional.

Menentukan jumlah maksimum permintaan ASP bersamaan yang diizinkan ke dalam antrean permintaan.

Nilai defaultnya adalah 3000.
scriptTimeout Atribut timeSpan opsional.

Menentukan periode waktu maksimum (hh:mm:ss) yang diizinkan halaman ASP untuk menjalankan skrip sebelum mengakhiri skrip dan menulis peristiwa ke Log Peristiwa Windows.

Nilai defaultnya adalah 00:01:30.

Elemen Anak

Tidak ada.

Sampel Konfigurasi

Sampel konfigurasi berikut mengatur waktu habis skrip ASP menjadi 2 menit, jumlah waktu yang akan diperiksa ASP untuk melihat apakah klien masih tersambung sebelum menjalankan permintaan menjadi 5 detik, dan jumlah maksimum permintaan ASP bersamaan dalam antrean permintaan menjadi 1.000.

<configuration>
   <system.webServer>
      <asp>
         <cache diskTemplateCacheDirectory="%SystemDrive%\inetpub\temp\ASP Compiled Templates" />
         <limits scriptTimeout="00:02:00"
            queueConnectionTestTime="00:00:05"
            requestQueueMax="1000" />
      </asp>
   <system.webServer>
<configuration>

Kode Sampel

Sampel kode berikut mengatur waktu habis skrip ASP menjadi 2 menit, jumlah waktu yang akan diperiksa ASP untuk melihat apakah klien masih tersambung sebelum menjalankan permintaan menjadi 5 detik, dan jumlah maksimum permintaan ASP bersamaan dalam antrean permintaan menjadi 1.000.

AppCmd.exe

appcmd.exe set config -section:system.webServer/asp /limits.scriptTimeout:"00:02:00" /commit:apphost
appcmd.exe set config -section:system.webServer/asp /limits.queueConnectionTestTime:"00:00:05" /commit:apphost
appcmd.exe set config -section:system.webServer/asp /limits.requestQueueMax:"1000" /commit:apphost

Catatan

Anda harus memastikan untuk mengatur parameter penerapan ke apphost saat Anda menggunakan AppCmd.exe untuk mengonfigurasi pengaturan ini. Ini menerapkan pengaturan konfigurasi ke bagian lokasi yang sesuai dalam file ApplicationHost.config.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();
         ConfigurationSection aspSection = config.GetSection("system.webServer/asp");

         ConfigurationElement limitsElement = aspSection.GetChildElement("limits");
         limitsElement["scriptTimeout"] = TimeSpan.Parse("00:02:00");
         limitsElement["queueConnectionTestTime"] = TimeSpan.Parse("00:00:05");
         limitsElement["requestQueueMax"] = 1000;

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim aspSection As ConfigurationSection = config.GetSection("system.webServer/asp")

      Dim limitsElement As ConfigurationElement = aspSection.GetChildElement("limits")
      limitsElement("scriptTimeout") = TimeSpan.Parse("00:02:00")
      limitsElement("queueConnectionTestTime") = TimeSpan.Parse("00:00:05")
      limitsElement("requestQueueMax") = 1000

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var aspSection = adminManager.GetAdminSection("system.webServer/asp", "MACHINE/WEBROOT/APPHOST");
var limitsElement = aspSection.ChildElements.Item("limits");
limitsElement.Properties.Item("scriptTimeout").Value = "00:02:00";
limitsElement.Properties.Item("queueConnectionTestTime").Value = "00:00:05";
limitsElement.Properties.Item("requestQueueMax").Value = 1000;

adminManager.CommitChanges();

Vbscript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set aspSection = adminManager.GetAdminSection("system.webServer/asp", "MACHINE/WEBROOT/APPHOST")
Set limitsElement = aspSection.ChildElements.Item("limits")
limitsElement.Properties.Item("scriptTimeout").Value = "00:02:00"
limitsElement.Properties.Item("queueConnectionTestTime").Value = "00:00:05"
limitsElement.Properties.Item("requestQueueMax").Value = 1000

adminManager.CommitChanges()