ASP.NET خدمة WCF بطيئة ... سوف تعطيل مساعدة إعادة تدوير التطبيق ASP.NET؟

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

سؤال

لدي خدمة WCF تتطلب وقت استجابة معين (أقل من دقيقة واحدة).

مشكلتي هي أنه في كثير من الأحيان، غالبا ما تستغرق الخدمة في الصباح وقتا طويلا للاستجابة (في بعض الأحيان أكثر من دقيقتين).

أنا أفكر في أن هذا هو إعادة تدوير التطبيق وإعادة ترخيص التشغيل الأول.

هل هناك أسباب أخرى قد يحدث هذا؟

هل من الممكن إيقاف إعادة تدوير التطبيقات؟ وإذا كان ذلك، هل سيؤدي ذلك إلى أي آثار جانبية أو عدم استقرار؟ أنا أفترض أنه يجب أن يكون هناك سبب لعدة تطبيقات ASP.NET لإعادة التدوير.

هل هناك أي شيء آخر يمكن القيام به لتحسين أداء التشغيل الأول؟

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

المحلول

أساسا القواعد التالية تملي عند إعادة تدوير الطلب أو تفريغها:

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

باستخدام البقاء على قيد الحياة ل Bing الخدمة ستحل 2، ثم عليك فقط التعامل مع 1.

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

  1. ل IIS 6.
  2. ل IIS 7.

الوقت الخمول، أعتقد أنه عادة ما يكون الافتراضي "Infinte"، ولكن يمكن تكوينه من خلال عنصر ProcessModel (سمة idletimeout) من ملفات التكوين الخاصة بك.

بالنسبة لأول مرة إلى الأداء - دون النظر إلى التطبيق الخاص بك، من الصعب القول، هل قمت بتشغيل شيء مثل dottrace. أو منشط آخر فوقها؟

هل تقوم بالكثير من عمليات البحث المكثفة وبيانات التخزين المؤقتة في هذا الحمل الأول؟ هل يمكن تأجيل هذه؟

نصائح أخرى

نعم يمكنك منع apppool من إعادة التدوير. سيكون هناك خيار آخر هو إنشاء وظيفة حية على قيد الحياة لتثبيت الخدمة باستمرار للحفاظ على عملية العمال من النوم.

يمكن أن يكون سبب مشاكل الأداء أي شيء لم تستبعده أولا. نظرا لأنك لم تحكم أي شيء، فقد يكون من قبل أي شيء على الإطلاق.

ربما فكرة سخيفة: هل يمكن أن تقوم بجدولة تطبيق وحدة التحكم لضرب خدمتك في الساعة 5:30 صباحا في الصباح، بحيث يستغرق هذا الطلب وقتا طويلا للتشغيل، وعلى المستخدمين العاديين الذين يأتون بعد ذلك لن يكون لديهم هذه المشكلة ب

بالتأكيد - لا يتعامل مع السبب الجذري، ولكن في الوقت الحاضر، قد يكون ذلك الحلودا مفيدا - لا؟

مارك

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