ארכוויז מס’ 5 – למחזר או לא למחזר Application Pool?5
ביצוע Recycle ל-Application Pool של IIS שלמעשה הוא w3wp.exe גורם ליצירת תהליך w3wp.exe חדש, אובדן כל ה-State ואיתחול של אפליקציה ASP.NET. כל זה גורם הן לחווית משתמש ירודה, הרי לא נעים לחטוף הודעת שגיאה באמצע מילוי טופס כלשהו, והן לפגיעה ב-Scalability, הרי עם יש ריבוי של Recycles וגידול בפניות של משתמשים אז זמני תגובה לא יהיו משהו בלשון המעטה.
אז למה יש את היכולת ב-IIS להגדיר סוגים שונים של Recycles?
הנה שלוש סיבות שאני מוצא הגיוניות:
- האפליקציה מאוד “חולה” – גורמת לזליגת זכרון, Deadlocks – אך אין שליטה של קוד מקור
- האפליקציה מואד “חולה” אך בדיוק עובדים על הפתרון למניעת זליגת זכרון או Deadlocks, בזמן פיתוח ה-Fix מגדירים בינתיים את Recycles
- בוצע Capacity Planning לא נכון – מגדירים Recycle בזמן שמבצעים רכש של שרת או זכרון כדי להגדיל את קיבולת של האפליקציה.
הגדרת Recycle הוא Workaround ולא פתרון.
מה לדעתך סיבה נוספת להגדיר Recycle לאפליקציה?
חומר רלוונטי
שמי אליק לוין ואני מתרכז ב- Architecture, Security, and Performance באפליקציות Net.
בזמני הפנוי אני מפתח את עצמי בתחומים רבים אחרים.
This template is made with PracticeThis.com plugin for Windows Live Writer