Kebun web ... apakah bagus atau buruk atau apa?

28

Apakah ada kerugian untuk memberikan Aplikasi Kolam banyak Proses Pekerja di IIS? Tampaknya sangat mudah untuk mengaktifkan dan (hampir) semua yang saya baca tampaknya menyarankan mereka baik ... jadi mengapa IIS tidak memberikan masing-masing App Pool 10+ Proses Pekerja? Pasti ada beberapa efek yang merugikan, kan?

Tidak
sumber

Jawaban:

36

Anda benar untuk curiga. Kebun Web yang tidak memiliki kerugian adalah mitos besar, mereka dapat menyebabkan Anda tanpa akhir masalah, tetapi banyak orang bahkan tidak tahu kapan mereka harus digunakan.

Menurut Chris Adams (dari tim IIS) hanya ada satu alasan Anda ingin menggunakan Taman Web: Untuk memberikan aplikasi, yang tidak terikat CPU tetapi jalankan permintaan yang berjalan lama, kemampuan untuk menskala dan tidak menggunakan semua utas tersedia dalam proses pekerja. Ada banyak alasan mengapa mereka bisa buruk, namun, itu adalah kesalahpahaman umum bahwa tidak ada downside.

Mereka meningkatkan overhead sistem (mereka tidak berbagi cache), mereka tidak berbagi sesi (pengguna dapat kehilangan sesi mereka jika mereka beralih ke proses lain), InProc dapat menjadi kacau. Singkatnya, mereka sebenarnya, lebih sering daripada tidak, banyak masalah, dan Anda tidak boleh menggunakannya tanpa alasan yang baik.

Baca penjelasan lengkap Chris: http://blogs.iis.net/chrisad/archive/2006/07/14/1342059.aspx

Bacaan lebih lanjut: http://weblogs.asp.net/owscott/why-you-shouldn-t-use-web-gardens-in-iis-week-24

Django Reinhardt
sumber
5
Kata baik, seperti halnya pos Chris. Kebun web hampir tidak pernah dibutuhkan. Satu proses per server adalah semua yang diperlukan dalam 99,5% dari waktu. Saya memiliki kesempatan untuk menguji kebun web di server dengan beban tinggi yang tidak berkinerja baik dan kami tidak pernah membuatnya tetap aktif pada akhirnya. Kami selalu menemukan solusi yang lebih baik. Hanya untuk tugas-tugas yang berjalan lama di sumber daya rendah yang mereka bantu. Menggunakannya memiliki jejak memori yang lebih besar dan masalah kontinuitas sesi. Meskipun itu bisa diatasi, itu jarang dibutuhkan.
Scott Forsyth - MVP
Menakutkan berapa banyak teks yang tidak pernah menyebutkan kelemahannya - bahkan situs web Microsoft sendiri memiliki halaman seperti itu.
Django Reinhardt
7
Semua baik-baik saja tentang tidak mempertimbangkan kebun web dalam banyak kasus .. TAPI masalah SESI? Maksud saya hanya jika Anda diatur ke InProc. Sekarang Anda tidak akan menggunakan InProc dalam produksi, kan ?!
Andrei Rînea
@AndreiRinea Luar biasa betapa sedikit orang yang tahu ada alternatif untuk InProc ..
Gats
1
Sebanyak ini tentu merupakan jawaban terbaik, saat ini satu-satunya informasi yang dapat saya temukan ketika menggunakan taman web adalah kutipan yang tepat dalam jawaban ini (yaitu, "... aplikasi, yang tidak terikat dengan CPU ... "). Masalahnya bagi saya adalah saya tidak tahu apa arti beberapa istilah itu. Mungkin itu berarti saya tidak boleh mempermainkannya, tetapi saya seorang sysadmin, bukan pengembang, dan terkadang pengembang juga tidak mengetahui hal-hal ini. Jadi benar-benar penjelasan yang lebih lengkap tentang apa artinya kutipan itu akan menyenangkan.
Todd Wilcox