Wednesday, May 29, 2013

What is the difference between iisreset, recycle, refresh and restart?

היי חברים,

לא מעט שואלים את עצמם מה ההבדל בין  iisreset, recycle, refresh and restart.

אנסה לסכם בקצרה את הפעולות שקורות בכל אחת מהפעולות :


 iisreset גורם לעצירה והתחלה של שירותי הפרסום-World Wide Web. . זה חל על כל מאגרי היישומים שלכם (application pools). אני בטוח ששמתם לב לתהליך שנוצר עבור כל מאגר יישומים (process), תהליך זה מטפל בבקשות לכל אתרי האינטרנט שקשורים אליו.

 כאשר אתם מבצעים recycle  למאגר יישומים,  IISיצור תהליך חדש (וישמור על הישן) כדי לטפל בבקשות, לאחר מכן הוא מנסה להעביר את כל הבקשות לתהליך החדש. לאחר זמן מה התהליך הישן  "מושמד" באופן אוטומטי. בדרך כלל נמחזר מאגר היישומים כדי להיפטר מדליפות זיכרון (כנראה שיש לכם בעיה ביישום אם זו צריכה להיות פעולה שגורה ורגילה, למרות שזה מומלץ לבצע recycle מתוזמן).

באשר להפעלה מחדש של אתר אינטרנט -  restart, פעולה זו פשוט מפסיקה ומפעילה מחדש את הבקשות לאתר מסוים. היא תמשיך לשרת אתרים אחרים על אותו מאגר יישומים ללא הפרעות .אם יש לכם session oriented application, כל האמור לעיל יגרום לאובדן של אובייקטי ה – session .

לרענון אתרים, refresh ,  אין כל השפעה על השירות / תהליך / אתר , והוא רק פקודה מממשק המשתמש וזאת כדי לרענן את תצוגת העץ (אולי הוספתם ספרייה ואתם לא רואים אותה  בקונסולת הניהול).

בהצלחה !
רון נס.



 ============================================================================================================================================================================================

Hi Everybody,

A lot of People ask themselves what is the difference between iisreset, recycle, refresh and restart. I will try to summarize briefly the actions that occur in each of the Actions:
iisreset will stop and start the World Wide Web Publishing Service. This of course applies to all of your application pools. I'm sure you noticed a process being created for each application pool. This process will handle requests for all websites associated with it.

When you recycle an application pool, IIS will create a new process (keeping the old one) to serve requests. Then it tries to move all requests on the new process. After a timeout the old process will be killed automatically. You usually recycle your application pool to get rid of leaked memory (you might have a problem in your application if this needs to be a regular operation, even though it is recommended to have a scheduled recycle).

As for restarting a website, it just stops and restarts serving requests for that particular website. It will continue to serve other websites on the same app pool with no interruptions. If you have a session oriented application, all of the above will cause loss of session objects.


Refreshing a websites has no effect on the service/process/website and is merely a UI command to refresh the tree view (maybe you added a directory you don't see in the management console.

Good Luck :)
Ron Ness.

No comments:

Post a Comment