سؤال

ولدي تطبيق الملقم الذي يعالج طلبات الزبائن بطريقة مختلفة.

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

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

والمشكلة هي، في كل موضوع يكتب في ملف الكمون لكل طلب والعدد الحالي من مؤشرات الترابط قيد التشغيل حتى هذا يسبب مشكلة I / O كما بعد بضع دقائق كان لديك الكثير من المواضيع التي تحتاج إلى الكتابة في القرص أيضا لن يتم جود هذا السلوك في السيناريو الحقيقي كعميل طلب البيانات فقط.

وكيف أتغلب على هذه المشكلة كما أريد لقياس الحد الأقصى الكمون لكل مستخدم؟

وPS:

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

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

المحلول

وانها ليست حقا واضحا ما إذا كان هذا هو تطبيق بالشبكة أم لا. إذا ضمن شبكة بعد ذلك يمكنك ببساطة مقياس اختبار الإجهاد عن طريق سرقة سطح المكتب الجميع خلال عطلة نهاية الاسبوع لتشغيل اختبار التحمل. قد يكون هذا هو أسهل طريقة لتوسيع نطاق الاختبار لو كان مجرد عدد قليل من الاختبارات المخصصة.

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

والبند الآخر الذي ليس واضحا هو ما إذا كان كل المواضيع التي كنت تحاول مشاركة ملف واحد. وثمة طريقة لجعل هذا أقل من عنق الزجاجة يكون للحفاظ على المعلومات في الذاكرة حتى يتم إيقاف تشغيل البرنامج. أو دوران على موضوع الكاتب، هي المسؤولة عن الكتابة الملف، وكل ما كنت المواضيع الأخرى تعطيه المعلومات. إذا لم تحصل على IO احتياطيا، كنت سوف موضوع كاتب عقد ببساطة في الذاكرة حتى هو IO المتاحة، وأنت يمكن أن المواضيع عامل تستمر للتوصل الخادم في الوقت المتوسط. فقط نأخذ في الاعتبار، أنه نظرا لتزامن موضوع المشاركة، هذا قد لا مقياس جيد، لذلك قد ترغب في العازلة بعض الإدخالات في موضوع العمال ومزامنة فقط على موضوع الكاتب الملف مرة واحدة كل 100 طلب. أنا لا أعتقد أن هذا سيكون بكثير من قضية لأنه لا يبدو وكأنه كنت تتبع أي شيء أكثر من أوقات الاستجابة.

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

نصائح أخرى

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

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

.

ومن الواضح أن لديك بيئة مختلطة، كما لا يمكن أن يكون العديد من الأجهزة العميلة كما محاكاة المستخدمين، ولكن سوف سيناريوهات مثل المكالمات في وقت واحد من الأجهزة المستقلة تظهر في مثل هذه stresstest عن مكالمات ليست شبه تسلسل من خلال timeslicing.

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