هل نحتاج حقا إلى إعادة تشغيل تجمع تطبيقات IIS 7؟ هل تنطبق نفس الممارسة على خوادم الويب الأخرى؟

StackOverflow https://stackoverflow.com/questions/2043031

سؤال

أنا فقط أتساءل لماذا تتم إعادة تشغيل IIS 7 تجمع تطبيقات التطبيقات في ممارسة جيدة؟ أعلم أنه سيتم تنظيف موارد الأيتام مثل مواضيع أو حالة الجلسة، ولكن كيف يتعامل خادم الويب الآخر مع هذا النوع من المشاكل؟ هل يجب على مطور Java / Admin إعادة تشغيل Weblogic / WebSphere / Apache / Tomcat كل مرة في كثير من الأحيان لتنظيف غير المرغوب فيه في الذاكرة؟

هل كانت مفيدة؟

المحلول

عادة ما يستخدم للتعويض عن البرمجة السيئة. في بعض الأحيان لك، في بعض الأحيان أطراف ثالثة اعتمادا على المكتبات التي تستخدمها.

كما هو الحال مع جميع التوصيات، من الأفضل أن ننظر إلى بيئتك المحددة لمعرفة ما إذا كان الأمر ضروريا حقا قبل القيام بذلك.

ابدأ في تنميط التطبيق. طريقة بسيطة هي فقط السماح لها بالركض لفترة من الوقت تحت الحمل. ابحث عن أشياء مثل استخدام الذاكرة يستقر أو هل ينمو باستمرار؟

إذا استمر في النمو، فستحتاج إلى تعيين IIS لإعادة تدوير كل ما في كثير من الأحيان والذهاب إلى إصلاح تطبيقك. إذا نمو إلى حد ما، ثم يستقر بعد ذلك، يجب أن تكون على ما يرام. تأكد من اختبار حتى حالات حافة التطبيق الخاص بك.

نصائح أخرى

مع IIS، من الممكن الحصول على شفرة غير مدارة - أفضل مثال هو كائن COM - لا تتصرف جيدا. نتيجة لذلك، يمكنك تعيين IIS الخاص بك لإعادة تدوير العمليات بشكل دوري، للسماح لتسرب الذاكرة التي قد تحدث مع هذا الرمز.

ليس من الضروري القيام بذلك. يمكنك القضاء على عتبات إعادة التشغيل، إذا كنت تفضل عدم إعادة تشغيل العمليات.

إذا لم تكن هذه الفكرة موجودة في خوادم أخرى، فقد يكون ذلك لأن الخوادم الأخرى تسمح فقط بموجب التعليمات البرمجية المدارة فقط.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top