ما هو الاختبار المعياري الجيد لاختبار التحميل لنظام الإنتاج الذي يقوم بتشغيل IIS؟

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

سؤال

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

أنا أعمل حاليًا على نظام إنتاج يبدو أنه يتباطأ إلى حد التوقف تقريبًا على أساس يومي، ويبدو أنه لا يمكن لأحد معرفة سبب المشكلة.هذا هو الإعداد القياسي للطبقة N (العميل، خادم الويب، خادم قاعدة البيانات).لقد قمت بإنشاء بعض صفحات ASP.NET البسيطة التي يمكنها القيام ببعض الأشياء البسيطة التي أستخدمها لإنشاء معيار لاختبار التحمل الذي يمكنني استخدامه لاحقًا عند المقارنة مع نظام الإنتاج الموجود بالفعل.

لقد قمت بالفعل بإنشاء نموذج لصفحة aspx تقوم ببساطة بإرجاع بعض إحصائيات خادم الويب حول استخدامات الصندوق، ولا شيء ثقيل، ربما بضعة أسطر من التعليمات البرمجية.لقد قمت أيضًا بإنشاء خدمة ويب بسيطة (asmx) ستختبر اتصال قاعدة البيانات بالمعرف الصحيح، ومرة ​​أخرى لا يوجد شيء ثقيل، فقط قم بفتح اتصال قاعدة بيانات واستعلام نموذجي لا يفعل أي شيء حقًا.

ما أود معرفته هو، ما هو مستوى الضغط الجيد الذي يجب أن تعمل الاختبارات التالية تحته؟؟على وجه الخصوص، أنا أستخدم أداة ضغط تطبيقات الويب من Microsoft, ، ولدي فضول لمعرفة ما يتوقعه معظم الناس مستوى التوتر و ال مضاعف الإجهاد مقبول يجب أن تكون النطاقات.أعرف بالفعل في أي نقطة يبدأ خادم الويب في الانحناء، حيث يبلغ حوالي 20 مستوى ضغط و10 مضاعف ضغط، مما يؤدي إلى حوالي 275 طلب صفحة في الثانية.أحاول معرفة ما إذا كان هذا الرقم منخفضًا جدًا، وما إذا كان هذا مؤشرًا على وجود مشكلة بين العميل وخادم الويب أو مشكلة في الأجهزة من نوع ما، أو إذا كان مؤشرًا على وجود مشكلة لا بأس وأن النظام ثقيل جدًا.

تحديث: منذ أن كتبت هذا المنشور في الأصل، تم نقل الرمز إلى خادم يعمل بنظام التشغيل Windows 2003 باستخدام IIS 7.

ما أود معرفته الآن هو أنه إذا قمت بإعداد اختبار بسيط نسبيًا، مثل ملف Index.html الأساسي الذي يخدم صفحة صغيرة فقط، فما الذي تتوقعه من طلبات الصفحة "الأفضل" في الثانية التي يمكنني تحقيقها منها؟ اختبار الإجهاد؟

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

المحلول

ما أود معرفته الآن هو إذا قمت بإعداد اختبار بسيط نسبيًا ، مثل ملف INDEX.HTML الأساسي الذي يخدم صفحة صغيرة فقط ، فما الذي تتوقعه طلبات "أفضل" / Sec التي يمكنني تحقيقها من اختبار التوتر؟

لا أستطيع التحدث عن أداة ضغط تطبيق الويب من Microsoft، ولكن يجب أن يكون من الممكن فحص صفحة html ثابتة مستضافة على IIS حتى تغمر الشبكة بين جهاز الاختبار والخادم أو ينفد خادم الاختبار من وحدة المعالجة المركزية لإنشاء الاختبارات وتجميعها .كل ما ستفعله ISS هو إرسال نفس الاستجابة المخزنة مؤقتًا في كل مرة.

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

إما أن يكون لديك صفحة واحدة أو أكثر يكون أداؤها غير مقبول لتحميل معين أو يتم استخدام بعض إحصائيات الخادم مثل استخدام القرص أو أداء قاعدة البيانات.

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

مع الصفحات ذات الأداء الضعيف، يكون من الأسهل إجراء تحسينات حيث أن الكود متاح للتحليل.

أوصي باستخدام إصدار Visual Studio Ultimate لتحميل الاختبار إذا كان بإمكانك الحصول عليه.كما أنه يوفر بعض أدوات ملفات تعريف ASP.NET للتعامل مع أقسام التعليمات البرمجية واستدعاءات قاعدة البيانات.

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