Kami akan menyebarkan banyak situs ke beberapa server baru. Saya memiliki pertanyaan berikut tentang kumpulan aplikasi:
Tampaknya disarankan untuk memiliki satu kumpulan aplikasi per situs web. Apakah ada peringatan untuk pendekatan ini? Akankah satu aplikasi mengumpulkan semua CPU, Memori, Dll ...?
Kapan Anda harus mengizinkan beberapa proses pekerja dalam kumpulan aplikasi? Kapan sebaiknya tidak?
Dapatkah batas memori pribadi digunakan untuk mencegah satu kumpulan aplikasi mengganggu yang lain? Apakah pengaturannya terlalu rendah menyebabkan permintaan yang valid untuk mendaur ulang kumpulan aplikasi tanpa mendapatkan respons yang valid?
Apa perbedaan antara batas memori pribadi dan virtual?
Apakah ada alasan kuat untuk TIDAK menjalankan satu kumpulan aplikasi per situs?
sumber
Jawaban:
Ini adalah pendekatan yang cukup bagus; tidak ada alasan bagus yang bisa saya pikirkan untuk memiliki "situs" yang berbeda (aplikasi) berbagi kumpulan yang sama. Kecuali mereka perlu berbagi satu sumber daya atau sejenisnya. Satu aplikasi secara teoritis dapat memakan banyak CPU atau memori, tetapi mengubah cara aplikasi dikumpulkan tidak akan terlalu mempengaruhi ini.
Ini sebaiknya dibiarkan sendiri, menggunakan pengaturan default. Kecuali Anda benar-benar tahu apa yang Anda lakukan ini sebenarnya dapat berdampak negatif pada situs web / aplikasi Anda.
a) Secara teoritis
b) Ya pengaturannya untuk menurunkan dapat memiliki efek negatif. Sekali lagi, kecuali Anda memiliki kebutuhan khusus, dan tahu apa yang Anda lakukan, biarkan saja ini.
Itu sangat rumit, inilah posting cepat yang saya temukan yang mungkin membantu: http://cybernetnews.com/cybernotes-windows-memory-usage-explained/
Sekali lagi, satu-satunya alasan yang bisa saya pikirkan adalah jika ada semacam "sumber daya bersama" yang dibutuhkan beberapa aplikasi, maka Anda ingin menjalankannya dalam proses yang sama.
Untuk aplikasi tujuan umum dan situs web, IIS sudah diatur dengan baik dengan nilai-nilai standarnya.
****MEMPERBARUI****
Sehubungan dengan permintaan Anda untuk informasi tambahan tentang # 2, Anda tidak boleh melakukan ini kecuali Anda memiliki kebutuhan khusus untuk melakukannya. Bahkan dengan tindakan server yang membutuhkan waktu lama, permintaan dilayani menggunakan banyak utas, dan Anda ingin menggunakan "Permintaan Async" untuk menangani tugas yang berjalan lama (yang membebaskan utas kumpulan utas untuk menangani permintaan lainnya). Secara realistis, saya tidak bisa memikirkan alasan bagus untuk memungkinkan banyak proses untuk satu kumpulan.
Setelah Anda mulai berbicara beberapa proses, maka Anda berpotensi mengalami hal-hal seperti: kehilangan status sesi karena sesi masih hidup dalam proses 1, tetapi permintaan sedang ditangani oleh proses 2. Atau bahkan lebih buruk, Anda harus mencari cara untuk melakukan beberapa komunikasi antar proses, yang merupakan rasa sakit yang nyata.
Tidak peduli apa yang Anda lakukan sehubungan dengan alasan untuk beberapa proses, saya akan berani bertaruh ada cara yang lebih baik untuk menghadapinya (daripada memulai proses lain).
sumber
Saya selalu mengonfigurasi kumpulan aplikasi khusus untuk situs web. Skenario hosting situs web berbiaya rendah adalah di mana memiliki sejumlah besar situs per kumpulan aplikasi masuk akal.
Batas memori sebenarnya hanyalah ambang batas keamanan primitif untuk mencegah situs menghabiskan semua sumber daya sistem. Perhatikan bahwa ini lebih merupakan masalah potensial pada Windows 2008 R2 x64 daripada pada IIS 6.0 x86, karena aplikasi x86 memiliki plafon memori 2 GB alami. Jauh lebih mudah pada IIS 7.5 untuk aplikasi dengan kebocoran memori untuk mengkonsumsi banyak memori.
Saya juga bukan penggemar kolam aplikasi daur ulang. Jika saya memiliki kumpulan aplikasi dan saya satu-satunya aplikasi yang berjalan, jika tidak ada yang salah dengan kode kami, mungkin tidak perlu mendaur ulang kumpulan aplikasi. Dan jika ada cacat dalam aplikasi, tindakan yang paling tepat adalah memperbaiki kode.
sumber