Pertanyaan ASP.NET MVC - Beban awal yang lambat


Saya baru saja membuat aplikasi web asp.net mvc dan menerbitkannya secara online.

Ketika pertama kali memuat situs web Anda harus menemukan bahwa dibutuhkan sekitar 10-15 detik untuk benar-benar ditampilkan, namun setelah itu diklik satu kali, itu memuat secepat yang saya harapkan untuk putaran kedua kalinya. Saya hanya ingin tahu apakah ada yang tahu mengapa situs web begitu lama?


32
2018-01-15 23:10


asal


Jawaban:


Biasanya sebuah aplikasi akan selalu membutuhkan waktu ekstra untuk dimuat saat domain aplikasi dijalankan.

Hal-hal yang membantu memperburuk ini bisa berupa apa saja dari kode yang ditulis dengan buruk (IE: Application_Start) ke pustaka tertentu yang mungkin Anda gunakan (ORMs misalnya). Berapa banyak modul yang Anda muat?

Sebagai permulaan, periksa web.config Anda untuk yang terkenal <compilation debug="true">. Itu dapat memiliki konsekuensi kinerja yang signifikan dalam pengaturan produksi. Setel menjadi "salah"!

Rekomendasikan googling sesuatu di sepanjang baris "meningkatkan waktu startup aplikasi"dan mencari hal-hal yang mungkin berhubungan dengan aplikasi khusus Anda.

Perbarui dari komentar pertama Anda:

Jika Anda melihat aplikasi mulai lagi (hang selama beberapa detik) setelah 30 menit secara konsisten ini kemungkinan terkait dengan pengaturan Recycling Aplikasi Renang Anda di IIS.

Pergilah ke IIS Manager (ini mengasumsikan v7 +):

  1. Kolam Aplikasi
  2. Klik kanan kolam yang digunakan untuk aplikasi Anda
  3. Pilih "Daur Ulang", sebuah jendela akan muncul berlabel "Daur Ulang Kondisi"
  4. Periksa pengaturan tersebut karena mereka akan menentukan kapan secara otomatis bunuh kumpulan aplikasi Anda dan jalankan ulang.

Dalam hal kinerja umum Anda mungkin ingin mencoba:

  1. Menambahkan beberapa pernyataan debugging yang memuntahkan waktu yang telah berlalu dalam Anda Metode Application_Start () atau lokasi berlaku lainnya untuk dicoba untuk menangkap apa yang paling lama.
  2. Buat proyek demo yang benar-benar bersih dan terapkan. Lihatlah apakah itu menderita masalah yang sama. Jika tidak mencoba memperkenalkan lebih banyak dan lebih banyak kode asli Anda sampai Anda mendeteksi pelambatan.

Jika kamu sangat Stumped # 2 mungkin merupakan pilihan terbaik Anda meskipun mungkin akan menjadi pilihan paling lambat.


19
2018-01-15 23:18



Saya juga memiliki masalah yang sama, dengan situs asp.net loading asp.net yang lambat, akhirnya saya menemukan cara terbaik untuk memuat situs, sangat cepat dalam beban pertama.

Solusi saya adalah untuk windows server 2008 r2 dan IIS 7.5, tetapi di server windows atas dan versi iis atas juga berfungsi, dengan beberapa kesimpulan sederhana.

Pertama-tama, Anda harus mengatur startMode dari kolam aplikasi Anda untuk selalu berjalan, ini akan mencegah kolam aplikasi Anda dari tidur, setelah beberapa waktu. (dalam kasus saya, hanya langkah ini yang mengubah pemuatan situs saya dari 45-55 detik menjadi sekitar 8-12 detik).

di langkah pertama, tidak ada permintaan pertama untuk situs web Anda, untuk pramuat situs web Anda, kami memerlukan langkah lain, yaitu dengan memasang modul Inisialisasi Aplikasi untuk iis7.5 dari sini

di langkah dua, Anda harus mengatur preloadEnabled = true untuk situs web Anda, opsi ini adalah apa yang ditambahkan inisialisasi aplikasi ke pengaturan situs.

Untuk informasi lebih lanjut dan bagaimana Anda dapat mengatur opsi ini silakan merujuk ke posting blog ini: http://blogs.iis.net/wadeh/application-initialization-part-2

setelah langkah dua, situs web saya dimuat hanya dalam 1-3 detik.


15
2018-06-15 09:07



Selain apa yang dikatakan Jay .. Anda harus mempertimbangkan penggunaan memori dari kumpulan aplikasi Anda. Hal ini terutama berlaku untuk lingkungan hosting bersama, di mana penyedia Anda umumnya akan mendaur ulang kumpulan aplikasi setelah batas memori dipukul (bukan berdasarkan waktu). Ini sekali lagi akan menyebabkan situs Anda "dimulai ulang", menyebabkan masalah kinerja beban awal.


0
2018-01-15 23:23



Terlihat gambar yang diputar agak besar. Di browser saya bagian ini memuat yang terakhir. Semua sisa halaman memuat cukup cepat. Anda mungkin berpikir untuk mengubah ukuran gambar-gambar ini. Juga, file Javascript besar dapat menyebabkan beberapa perlambatan selama pemuatan awal.


-1
2018-01-15 23:26



Ada beberapa langkah untuk diterapkan:

  1. Cache Sisi Klien
  2. Bundling dan Minification
  3. Server Side Cache
  4. Mengonfigurasi Mulai Otomatis dengan Manajer IIS

-3
2018-01-08 13:32