أدوات وأساليب للمراقبة المباشرة لتطبيقات الويب ASP.NET؟

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

سؤال

أعتقد أن العديد من المطورين يعرفون هذا الشعور غير المريح عندما يخبرهم المستخدمون بذلك "التطبيق بطيء (مرة أخرى)."

في تطبيق ويب معقد يمكن أن يكون هناك العديد من الأسباب المحتملة لتدهور في الأداء (المتصور):استجابة قاعدة البيانات بطيئة، ومشكلات النطاق الترددي، والتخزين المؤقت السيئ، وما إلى ذلك.من المؤكد أن هناك مشكلات لن تحدث أبدًا في بيئة التطوير أو التدريج.

والآن سؤالي:

هل هناك مجموعة من الأدوات و/أو الأساليب التي من شأنها توفيرها حالة "مباشرة" شاملة على نظام إنتاج IIS/ASP.NET/SQL Server بطريقة مرئية (وليس فقط عدادات الأداء):

  • طلبات HTTP الحالية (على سبيل المثال آخر n دقيقة)
  • الاستثناءات / المهلات
  • بيانات النطاق الترددي
  • عدد اتصالات قاعدة البيانات المفتوحة/استدعاءات قاعدة البيانات
  • ...

الهدف الأساسي هو أن ترى بنظرة سريعة (أو بعد النظر عن كثب) المشكلة التي تسبب مشاكل الأداء.

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

المحلول

أعتقد أن فئة البرنامج الذي تبحث عنه هو ".net Profiler" أو ".net Tracer".إحدى هذه الأدوات التي قد تفكر فيها هي JetBrains com.dotTrace.فهو يوفر لك تتبعات مكدس وقت التشغيل ومجموعة من العدادات التي تشير إلى الاختناقات المحتملة.

نصائح أخرى

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

إستعملت LogParser للتنقل عبر سجلات IIS وإنشاء تقارير مخرجات لهذه السجلات (على سبيل المثال.أعطال كود النتيجة وما إلى ذلك).

لقد استخدمت مجموعة من عدادات الأداء وقيم WMI للحصول على الباقي - يمكنك قراءتها باستخدام لغة C# البسيطة جدًا - وهذا يمنحك التحكم الكامل الذي يمكنك بعد ذلك تفريغه إلى .csv وما إلى ذلك للعرض/المعالجة في Excel أو إذا كنت تقوم بالتحديث صفحة كمركز تحكم.

ربما سأنظر أيضًا IIS.net كمورد رائع لأدوات IIS بما في ذلك تصحيح الأخطاء والأمان وما إلى ذلك.

تتبعت نصيحة أوريج ووجد هذا البرنامج يسمى SmartInspect.

هل يعرف أحد أداة التسجيل/المراقبة هذه؟يبدو أنه مزيج من وحدة التحكم في الوقت الفعلي ومكتبة المطورين.

سيحتوي CLR 4.5 على بعض الإمكانات الجديدة التي ستساعدك على مراقبة أداء ASP.NET مباشرة - دون إعادة تشغيل تطبيقك.في الأساس، يمكنك إعادة تنفيذ التعليمات البرمجية الخاصة بك لتضمين بعض خطافات المراقبة فيها، ثم فحص الوقت الذي تقضيه في الفصول/الأساليب وما إلى ذلك.

أنا متأكد من أن dotTrace وأدوات التوصيف الأخرى ستستفيد من ذلك تلقائيًا، ولكن الأمر يستحق التحقق: C9 - داخل Re-JIT مع ديفيد برومان

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