Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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:
|
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
- Pada taskbar, klik Manajer Server.
- 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.
- Pada halaman Peran Server , perluas Server Web (IIS), perluas Server Web, perluas Pengembangan Aplikasi, lalu pilih ASP.
- 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.)
- Pada halaman Peran Server, klik Berikutnya.
- Pada halaman Pilih fitur, klik Berikutnya.
- Pada halaman Konfirmasi pilihan instalasi, klik Instal.
- Pada halaman Hasil , klik Tutup.
Windows 8 atau Windows 8.1
Pada layar Mulai, pindahkan penunjuk ke sudut kiri bawah, klik kanan tombol Mulai, lalu klik Panel Kontrol.
Di Panel Kontrol, klik Program dan Fitur, lalu klik Aktifkan atau nonaktifkan fitur Windows.
Perluas Layanan Informasi Internet, perluas World Wide Web Services, perluas Fitur Pengembangan Aplikasi, lalu pilih ASP.
Catatan
Peran Ekstensi ISAPI akan dipilih jika belum diinstal.
Klik OK.
Klik Tutup.
Windows Server 2008 atau Windows Server 2008 R2
- Pada taskbar, klik Mulai, arahkan ke Alat Administratif, lalu klik Manajer Server.
- Di panel hierarki Manajer Server , perluas Peran, lalu klik Server Web (IIS).
- Di panel Server Web (IIS), gulir ke bagian Layanan Peran , lalu klik Tambahkan Layanan Peran.
- Pada halaman Pilih Layanan Peran dari Wizard Tambahkan Layanan Peran, pilih ASP.
- 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.)
- Pada halaman Pilih Layanan Peran , klik Berikutnya.
- Pada halaman Konfirmasi Pilihan Penginstalan , klik Instal.
- Pada halaman Hasil , klik Tutup.
Windows Vista atau Windows 7
- Pada taskbar, klik Mulai, lalu klik Panel Kontrol.
- Di Panel Kontrol, klik Program dan Fitur, lalu klik Aktifkan atau nonaktifkan Fitur Windows.
- Perluas Layanan Informasi Internet, lalu World Wide Web Services, lalu Fitur Pengembangan Aplikasi.
- Pilih ASP, lalu klik OK.
Bagaimana Caranya
Cara mengonfigurasi pengaturan cache ASP untuk server
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).
Di panel Koneksi , sorot nama server Anda.
Di panel Beranda server, klik dua kali ASP.
Di panel ASP , perluas bagian Properti Batasan , konfigurasikan pengaturan yang Anda inginkan, lalu klik Terapkan di panel Tindakan .
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()