Mengoptimalkan Performa IIS

Menerapkan opsi konfigurasi IIS untuk meningkatkan performa IIS

Internet Information Services (IIS) memaparkan banyak parameter konfigurasi yang memengaruhi performa IIS. Topik ini menjelaskan beberapa parameter ini dan memberikan panduan umum untuk mengatur nilai parameter untuk meningkatkan performa IIS.

Log hanya informasi penting atau nonaktifkan pengelogan IIS sepenuhnya

Pengelogan IIS harus diminimalkan atau bahkan dinonaktifkan di lingkungan produksi. Untuk menonaktifkan pengelogan, ikuti langkah-langkah berikut:

  1. Klik Mulai, arahkan ke Semua Program, klik Alat Administratif, lalu klik Pengelola Layanan Informasi Internet (IIS).

  2. Di panel Koneksi , klik untuk memperluas Situs, klik untuk memilih situs Web yang ingin Anda nonaktifkan pengelogannya, klik untuk memilih Tampilan Fitur, lalu klik dua kali fitur Pengelogan .

  3. Klik Nonaktifkan di panel Tindakan untuk menonaktifkan pengelogan untuk situs Web ini.

Nonaktifkan debugging IIS ASP di lingkungan produksi

Debugging IIS ASP harus dimatikan di lingkungan produksi. Untuk menonaktifkan penelusuran kesalahan ASP IIS, ikuti langkah-langkah berikut: Di panel Koneksi , klik untuk memperluas Situs, klik untuk memilih situs web yang ingin Anda nonaktifkan penelusuran kesalahan ASPnya, klik untuk memilih Tampilan Fitur, lalu klik dua kali fitur ASP . Klik untuk memperluas Kompilasi, klik untuk memperluas Properti Debugging, dan verifikasi bahwa Debugging Klien dan Debugging Server diatur ke False.

  1. Klik Mulai, arahkan ke Semua Program, klik Alat Administratif, lalu klik Pengelola Layanan Informasi Internet (IIS).

  2. Di panel Koneksi , klik untuk memperluas Situs, klik untuk memilih situs web yang ingin Anda nonaktifkan penelusuran kesalahan ASP, klik untuk memilih Tampilan Fitur, lalu klik dua kali fitur ASP .

  3. Klik untuk memperluas Kompilasi, klik untuk memperluas Properti Penelusuran Kesalahan, dan verifikasi bahwa Aktifkan Debugging pada Klien dan Aktifkan Debugging pada Server diatur ke False.

  4. Jika perlu, klik Terapkan di panel Tindakan .

    Nonaktifkan debug untuk aplikasi ASP.NET dan layanan web dengan menentukan <bagian compilation debug="false"> di file web.config untuk aplikasi web.

Menyetel nilai properti Asp Threads Per Processor Limit

Properti Asp Threads Per Processor Limit menentukan jumlah maksimum utas pekerja per prosesor yang dibuat IIS. Tingkatkan nilai untuk Batas Utas Per Prosesor hingga pemanfaatan prosesor memenuhi setidaknya 50 persen atau lebih tinggi. Pengaturan ini dapat secara dramatis memengaruhi skalabilitas aplikasi Web Anda dan performa server Anda secara umum. Karena properti ini mendefinisikan jumlah maksimum permintaan ASP yang dapat dijalankan secara bersamaan, pengaturan ini harus tetap pada nilai default kecuali aplikasi ASP Anda melakukan panggilan diperpanjang ke komponen eksternal. Dalam hal ini, Anda dapat meningkatkan nilai Batas Utas Per Prosesor. Melakukannya memungkinkan server untuk membuat lebih banyak thread untuk menangani permintaan secara bersamaan. Nilai default Batas Utas Per Prosesor adalah 25. Nilai maksimum yang direkomendasikan untuk properti ini adalah 100.

Untuk meningkatkan nilai untuk Batas Utas Per Prosesor, ikuti langkah-langkah ini:Di panel Koneksi , pilih server web, klik untuk memilih Tampilan Fitur, lalu klik dua kali fitur ASP .

  1. Klik Mulai, arahkan ke Semua Program, klik Alat Administratif, lalu klik Pengelola Layanan Informasi Internet (IIS).

  2. Di panel Koneksi , pilih server web, klik untuk memilih Tampilan Fitur, lalu klik dua kali fitur ASP .

  3. Klik untuk memperluas Properti Batasan di bawah Perilaku, klik Utas Per Batas Prosesor, masukkan nilai yang diinginkan untuk Utas Per Batas Prosesor dan klik Terapkan di panel Tindakan .

    Untuk informasi selengkapnya tentang cara mengubah properti dalam <elemen batas> elemen asp> IIS 7.5/7.0<, lihat batas> Batas <ASP (https://go.microsoft.com/fwlink/?LinkId=157483).

Nota

Karena properti ini hanya dapat diterapkan pada tingkat server, modifikasi properti ini mempengaruhi semua situs Web yang berjalan pada server.

Mengatur nilai properti Panjang Antrian ASP

Tujuan penyetelan properti ini adalah untuk memastikan waktu respons yang baik sambil meminimalkan seberapa sering server mengirim kesalahan HTTP 503 (Server Terlalu Sibuk) ke klien ketika antrean permintaan ASP penuh. Jika nilai properti Panjang Antrean ASP terlalu rendah, server akan mengirim kesalahan HTTP 503 dengan frekuensi yang lebih besar. Jika nilai properti Panjang Antrean ASP terlalu tinggi, pengguna mungkin melihat bahwa server tidak merespons ketika sebenarnya permintaan mereka menunggu dalam antrean. Dengan mengamati antrean selama periode lalu lintas tinggi, Anda harus dapat membedakan pola puncak dan penurunan permintaan web. Catat nilai puncak, dan tetapkan nilai properti Panjang Antrean ASP tepat di atas nilai puncak. Gunakan antrean untuk menangani lonjakan jangka pendek, memastikan waktu respons, dan membatasi sistem untuk menghindari kelebihan beban saat lonjakan yang berkelanjutan dan tidak terduga terjadi. Jika Anda tidak memiliki data untuk menyesuaikan properti Panjang Antrean ASP, langkah awal yang tepat adalah mengatur rasio antrean satu banding satu dengan total utas. Misalnya, jika properti ASP Threads Per Processor Limit diatur ke 25 dan Anda memiliki empat prosesor (4 * 25 = 100 utas), atur properti Panjang Antrean ASP ke 100 dan sesuaikan dari sana.

Untuk meningkatkan nilai properti Panjang Antrean, ikuti langkah-langkah berikut:

  1. Klik Mulai, arahkan ke Semua Program, klik Alat Administratif, lalu klik Pengelola Layanan Informasi Internet (IIS).

  2. Di panel Koneksi , pilih server Web, klik untuk memilih Tampilan Fitur, lalu klik dua kali fitur ASP .

  3. Klik untuk memperluas Properti Batasan di bawah Perilaku, klik Panjang Antrean, masukkan nilai yang diinginkan untuk Panjang Antrean lalu klik Terapkan di panel Tindakan .

    Untuk informasi selengkapnya tentang cara mengubah properti dalam elemen batas di elemen asp IIS 7.5/7.0, lihat Batas ASP (https://go.microsoft.com/fwlink/?LinkId=157483).

Nota

Karena properti ini hanya dapat diterapkan pada tingkat server, modifikasi properti ini mempengaruhi semua situs Web yang berjalan pada server.

Mengatur entri registri MaxPoolThreads

Pengaturan ini menentukan jumlah utas kumpulan yang akan dibuat per prosesor. Thread pool mengawasi jaringan untuk permintaan dan memproses permintaan yang masuk. Jumlah MaxPoolThreads tidak menyertakan utas yang digunakan oleh aplikasi ISAPI. Umumnya, Anda tidak boleh membuat lebih dari 20 utas per prosesor. MaxPoolThreads adalah entri registri REG_DWORD yang terletak di HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\InetInfo\Parameters\ dengan nilai default 4.

Menonaktifkan pelacakan layanan WCF

Gunakan Alat Editor Konfigurasi (SvcConfigEditor.exe) untuk menonaktifkan pelacakan layanan WCF di lingkungan produksi. Untuk informasi selengkapnya tentang Alat Editor Konfigurasi, lihat Alat Editor Konfigurasi (SvcConfigEditor.exe) (https://go.microsoft.com/fwlink/?LinkID=127070).

Mengonfigurasi ASP.NET 2.0 MaxConcurrentRequests untuk mode Terintegrasi IIS 7.5/7.0

Ketika ASP.NET 2.0 dihosting di IIS 7.5/7.0 dalam Mode Terintegrasi, penggunaan utas ditangani secara berbeda dari pada IIS 7.5/7.0 dalam Mode Klasik. Ketika ASP.NET 2.0 dihosting pada IIS 7.5 dalam mode Terintegrasi, ASP.NET 2.0 membatasi jumlah permintaan yang dijalankan secara bersamaan alih-alih jumlah utas yang menjalankan permintaan secara bersamaan. Untuk skenario sinkron, ini secara tidak langsung akan membatasi jumlah utas karena jumlah permintaan akan sama dengan jumlah utas. Tetapi untuk skenario asinkron, jumlah permintaan dan utas kemungkinan akan sangat berbeda karena Anda bisa memiliki jauh lebih banyak permintaan daripada utas. Saat Anda menjalankan ASP.NET 2.0 pada IIS 7.5 dalam mode terintegrasi, minFreeThreads dan minLocalRequestFreeThreads dari elemen "httpRuntime" di machine.config diabaikan. Untuk mode Terintegrasi IIS 7.5, DWORD bernama MaxConcurrentRequestsPerCPU dalam HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\2.0.50727.0 menentukan jumlah permintaan bersamaan per CPU. Secara default, kunci registri tidak ada dan jumlah permintaan per CPU dibatasi hingga 12. .NET Framework 3.5 SP1 menyertakan pembaruan ke biner v2.0 yang mendukung konfigurasi kumpulan aplikasi IIS melalui file aspnet.config. Konfigurasi ini hanya berlaku untuk mode terintegrasi (mode Klasik/ISAPI mengabaikan pengaturan ini). Bagian konfigurasi aspnet.config baru dengan nilai default tercantum di bawah ini:

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

Dalam Mode Terpadu IIS 7.5, maxWorkerThreads dan parameter maxIoThreads di bagian "processModel" dari file machine.config tidak digunakan untuk mengatur jumlah permintaan yang berjalan, per detik, tetapi masih digunakan untuk mengatur ukuran kumpulan utas CLR yang digunakan oleh ASP.NET. Ketika bagian "processModel" dari machine.config memiliki "autoConfig=true" (yang merupakan pengaturan default), ini akan memberikan kumpulan aplikasi hingga 100 utas pekerja (MaxWorkerThreads) per CPU logis. Jadi server komoditas umum dengan 2 CPU dual-core akan memiliki 400 MaxWorkerThreads. Ini seharusnya cukup untuk semua aplikasi kecuali yang paling menuntut.

Untuk informasi selengkapnya tentang mengonfigurasi Penggunaan Utas ASP.NET di IIS 7.5, lihat Blog Thomas Marquardt tentang Penggunaan Utas ASP.NET di IIS 7.0 (https://go.microsoft.com/fwlink/?LinkId=157518).

Mengonfigurasi ASP.NET 4 MaxConcurrentRequests untuk mode Terintegrasi IIS 7.5/7.0

Dengan .NET Framework 4, pengaturan default untuk maxConcurrentRequestsPerCPU adalah 5000 yang merupakan angka yang sangat besar dan oleh karena itu akan memungkinkan banyak permintaan asinkron untuk dijalankan secara bersamaan. Untuk informasi selengkapnya, lihat <applicationPool> Element (Pengaturan Web) (https://go.microsoft.com/fwlink/?LinkID=205339).

Untuk mode Terintegrasi IIS 7.5/7.0, DWORD bernama MaxConcurrentRequestsPerCPU dalam HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\4.0.30319.0 menentukan jumlah permintaan bersamaan per CPU. Secara default, kunci registri tidak ada dan jumlah permintaan per CPU dibatasi hingga 5000.

Mengaktifkan kompresi HTTP IIS

Untuk menggunakan bandwidth yang tersedia dengan lebih efisien, aktifkan kompresi HTTP IIS. Pemadatan HTTP memberikan waktu transmisi yang lebih cepat antara browser yang mendukung kompresi dan IIS, terlepas dari apakah konten Anda disajikan dari penyimpanan lokal atau sumber daya UNC.

  • Untuk mengonfigurasi pemadatan di tingkat server Web:

    1. Klik Mulai, arahkan ke Semua Program, klik Alat Administratif, lalu klik Pengelola Layanan Informasi Internet (IIS).

    2. Di panel Koneksi , pilih server Web, klik untuk memilih Tampilan Fitur, lalu klik dua kali fitur Pemadatan .

    3. Atur opsi pemadatan yang diinginkan lalu klik Terapkan di panel Tindakan .

  • Untuk mengonfigurasi pemadatan di tingkat situs Web:

    1. Klik Mulai, arahkan ke Semua Program, klik Alat Administratif, lalu klik Pengelola Layanan Informasi Internet (IIS).

    2. Di panel Koneksi , klik untuk memperluas Situs, klik untuk memilih situs Web yang ingin Anda konfigurasi pemadatannya, klik untuk memilih Tampilan Fitur, lalu klik dua kali fitur Pemadatan .

    3. Atur opsi pemadatan yang diinginkan lalu klik Terapkan di panel Tindakan .

Lihat Juga

Mengoptimalkan Performa