สวนเว็บ ... พวกเขาดีหรือไม่ดีหรืออะไร


28

มีข้อเสียใด ๆ ในการให้ Application Pools หลายกระบวนการของผู้ปฏิบัติงานใน IIS หรือไม่ พวกเขาดูเหมือนจะเปิดใช้งานได้ง่ายและเกือบทุกอย่างที่ฉันอ่านดูเหมือนจะแนะนำว่าพวกเขาดี ... ดังนั้นทำไม IIS จึงไม่ให้แต่ละกระบวนการทำงานของแอพพูล 10+ จะต้องมีผลกระทบที่เป็นอันตรายใช่มั้ย

คำตอบ:


36

คุณถูกสงสัย เว็บการ์เด้นที่ไม่มีข้อเสียคือตำนานที่ยิ่งใหญ่พวกเขาสามารถทำให้คุณไม่มีปัญหาสิ้นสุด แต่หลายคนยังไม่รู้ด้วยซ้ำว่าควรใช้เมื่อไร

ตาม Chris Adams (จากทีม IIS) มีเพียงเหตุผลเดียวที่คุณต้องการใช้ Web Garden: เพื่อให้แอปพลิเคชั่นที่ไม่ได้ผูกกับ CPU แต่ดำเนินการตามคำขอที่ใช้เวลานานความสามารถในการขยายและไม่ใช้ทั้งหมด กระทู้ที่มีอยู่ในกระบวนการของผู้ปฏิบัติงาน มีสาเหตุหลายประการที่ทำให้พวกเขาไม่ดีอย่างไรก็ตามมันเป็นความเข้าใจผิดที่พบบ่อยว่าไม่มีข้อเสีย

พวกเขาเพิ่มโอเวอร์เฮดของระบบ (พวกเขาไม่แชร์แคช), พวกเขาไม่แชร์เซสชัน (ผู้ใช้สามารถเสียเซสชันของพวกเขาหากพวกเขาเปลี่ยนไปใช้กระบวนการอื่น), InProc สามารถทำให้ยุ่งเหยิง ในระยะสั้นพวกเขามักจะมีปัญหามากและไม่ควรใช้อย่างใดอย่างหนึ่งโดยไม่มีเหตุผลที่ดี

อ่านคำอธิบายแบบเต็มของ Chris: http://blogs.iis.net/chrisad/archive/2006/07/14/1342059.aspx

อ่านเพิ่มเติม: http://weblogs.asp.net/owscott/why-you-shouldn-t-use-web-gardens-in-iis-week-24


5
พูดได้ดีเช่นเดียวกับที่โพสต์ของคริส เว็บสวนแทบไม่จำเป็นเลย กระบวนการเดียวต่อเซิร์ฟเวอร์คือกระบวนการทั้งหมดที่จำเป็นใน 99.5% ของเวลา ฉันมีโอกาสทดสอบเว็บการ์เด้นบนเซิร์ฟเวอร์ที่มีโหลดสูงซึ่งทำงานได้ไม่ดีและเราก็ไม่เคยเปิดใช้งานในตอนท้าย เราพบโซลูชั่นที่ดีกว่าเสมอ มันเป็นเพียงงานที่ใช้ทรัพยากรน้อยที่พวกเขาช่วย ใช้พวกเขามีรอยเท้าหน่วยความจำขนาดใหญ่และปัญหาความต่อเนื่องของเซสชั่น แม้ว่าจะสามารถแก้ไขได้ แต่ก็ไม่ค่อยจำเป็น
Scott Forsyth - MVP

เป็นเรื่องที่น่ากลัวว่าข้อความจำนวนมากไม่เคยพูดถึงข้อเสียของพวกเขา - แม้แต่เว็บไซต์ของ Microsoft เองก็มีหน้าเว็บเช่นนั้น
Django Reinhardt

7
ทุกอย่างเกี่ยวกับการไม่พิจารณาสวนเว็บในกรณีส่วนใหญ่ .. แต่ปัญหาเซสชัน? ฉันหมายถึงเฉพาะเมื่อคุณตั้งค่าเป็น InProc ตอนนี้คุณจะไม่ใช้ InProc ในการผลิตใช่มั้ย!
Andrei Rînea

@AndreiRinea น่าอัศจรรย์ว่ามีคนไม่กี่คนที่รู้ว่ามีทางเลือกอื่นสำหรับ InProc ..
Gats

1
เท่าที่เป็นคำตอบที่ดีที่สุดแน่นอนตอนนี้ข้อมูลเดียวที่ฉันสามารถค้นหาเมื่อใช้เว็บการ์เด้นคือคำพูดที่ถูกต้องในคำตอบนี้ (เช่น "... แอปพลิเคชันที่ไม่ใช่ CPU-ผูก ... ") ปัญหาสำหรับฉันคือฉันไม่รู้ว่าคำเหล่านั้นมีความหมายอย่างไร บางทีนั่นอาจหมายความว่าฉันไม่ควรเล่นกับมัน แต่ฉันเป็นผู้ดูแลระบบไม่ใช่นักพัฒนาและบางครั้งนักพัฒนาก็ไม่รู้จักสิ่งเหล่านี้ ดังนั้นคำอธิบายที่สมบูรณ์มากขึ้นเกี่ยวกับความหมายของคำพูดนั้นดีอย่างไร
ทอดด์วิลคอกซ์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.