Saya sedang mengembangkan situs berdasarkan platform .NET. Saya biasanya menggunakan situs-situs ini di IIS lokal saya, sehingga saya bisa mengujinya dan melihat fungsinya sebelum ditayangkan. Namun, setiap kali saya me-restart windows, sepertinya situs membutuhkan waktu lama untuk berjalan untuk pertama kalinya.
Saya tahu tentang JIT dan saya juga mengetahui pertanyaan ini , tetapi tidak menjawab pertanyaan saya.
Apakah JIT terjadi setiap kali Anda me-restart windows? Apakah ini terkait dengan pembuatan proses w3wp.exe? Mengapa situs sangat lambat untuk permintaan pertama setelah setiap restart?
Jawaban:
Masalah ini adalah kompilasi JIT. Kumpulan aplikasi membutuhkan waktu untuk membangun perpustakaan sebelum dapat mulai memprosesnya. Ini dapat dipercepat dengan menggunakan skrip pemanasan, tetapi itu adalah sesuatu yang perlu terjadi. Itu juga tergantung pada apakah Anda menggunakan situs web atau proyek aplikasi web. Sebuah situs web adalah JIT untuk setiap halaman sehingga klik pertama lambat dan setiap klik halaman baru memiliki waktu kompilasi tambahan juga. Proyek-proyek aplikasi web sudah dikompilasi jadi seharusnya tidak menderita hit ini sebagai buruk, tetapi perpustakaan masih perlu dimuat. Semakin banyak perpustakaan / alat yang Anda miliki, semakin buruk kemungkinan hasil ini. Berikut ini beberapa tautan yang membahas pemanasan:
http://weblogs.asp.net/gunnarpeipman/archive/2010/01/22/iis-application-warm-up-module.aspx http://blogs.iis.net/steveschofield/archive/2009/05/30 /application-pool-warm-up.aspx /programming/2063461/iis-web-applications-warmup http://sharepoint.smayes.com/2011/06/application-pool-specific-warm -up-skrip /
sumber
Reaksi lambat pada permintaan pertama Anda adalah karena IIS hanya memulai / memuat kumpulan situs atau aplikasi pada permintaan masuk pertama itu. Dan setelah jangka waktu tertentu tidak ada permintaan masuk baru yang tiba di server IIS menghentikan situs lagi (daur ulang kumpulan aplikasi).
ASP.NET 4.0 memiliki fitur baru yang disebut auto-start. Dengan fitur ini Anda dapat mengatur kumpulan aplikasi atau situs individual untuk memulai sendiri sebelum permintaan apa pun. Ini dipicu pada saat boot (ketika IIS mulai) atau ketika Anda memperbarui situs ASP.NET (yang menghentikan situs).
Anda perlu IIS 7.5 untuk menggunakan ini.
Ada juga opsi untuk melakukan tugas-tugas tambahan tertentu ketika mulai otomatis tendangan masuk, ex. untuk memuat data ke dalam cache.
sumber
Bagian dari masalah juga GAC. Perpustakaan tempat perlu ada keamanan diperiksa setiap kali mereka dimuat - itu berarti seluruh beban pekerjaan jenis enkripsi sedang dilakukan, dan ini memperlambat banyak hal. Ada pembicaraan tentang kinerja WPF beberapa waktu lalu dari MS yang menggambarkan masalah ini - jawaban mereka adalah "jangan menaruh barang di GAC jika Anda tidak bisa menahannya"
sumber
IIS memiliki fitur (kadang-kadang) yang mengganggu untuk situs web dengan lalu lintas rendah. Ini mendaur ulang proses pekerja yang tidak digunakan - yang menyebabkan pengguna pertama ke situs; terkadang keterlambatan yang sangat lama (30+ detik). http://dotnettimes.wordpress.com/2014/03/24/fixing-slow-initial-load-for-iis-web-site/
sumber