وحدات تحكم في JMeter: الحلقة، المنطق، المعاملة

⚡ ملخص ذكي

وحدات التحكم المنطقية في JMeter تحديد ترتيب تنفيذ طلبات المستخدم داخل سلسلة العمليات، باستخدام وحدات تحكم مثل Loop وRandom وSimple وModule وRecordingping كيف ترسل خطة اختبار الأداء الطلبات إلى الخادم.

  • 🎛️ وحدات التحكم المنطقية: تحدد وحدات التحكم ترتيب تنفيذ الطلبات في سلسلة العمليات.
  • 🔁 وحدة التحكم في الحلقة: يقوم بتشغيل عينة عدد محدد من المرات داخل حلقة الخيط.
  • 🎲 وحدة التحكم العشوائية: يقوم بتشغيل طلبات الطفل بترتيب عشوائي في كل دورة.
  • 🧩 وحدة التحكم بالوحدات: يُضيف ذلك خاصية التجزئة عن طريق تحديد الوحدة التي يتم تشغيلها.
  • ⏺️ وحدة التحكم بالتسجيل: يخزن خطوات الاختبار المسجلة كعنصر نائب.
  • 🤖 مساعدة الذكاء الاصطناعي: يساعد الذكاء الاصطناعي في تصميم وتحليل JMeter خطط اختبار الأداء.

وحدات تحكم في JMeter

ما هو المتحكم المنطقي؟

تتيح لك وحدات التحكم المنطقية تحديد ترتيب معالجة الطلب في سلسلة المحادثات. فهو يتيح لك التحكم في "متى" إرسال طلب المستخدم إلى خادم الويب. على سبيل المثال، يمكنك استخدام وحدات التحكم العشوائية لإرسال طلبات HTTP إلى الخادم بشكل عشوائي

تحدد وحدات التحكم المنطقية النظام حيث يتم تنفيذ طلب المستخدم.

فيما يلي بعض وحدات التحكم المنطقية شائعة الاستخدام:

المتحكم المنطقي

وحدة تحكم التسجيل

JMeter علبة سجل لك الاختبار خطوات؛ وحدة التحكم في التسجيل هي أ النائب لتخزين خطوات التسجيل هذه.

وحدة تحكم التسجيل

تحكم بسيط

وحدة التحكم البسيطة هي مجرد حاوية لطلب المستخدم.

تحكم بسيط

تحكم حلقة

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

تحكم حلقة

تحكم عشوائي

تعمل وحدة التحكم العشوائية على تشغيل جميع طلبات المستخدم العشوائية الترتيب في كل فترة حلقة.

على سبيل المثال، لديك 3 طلبات مستخدم لموقع الويب http://www.google.com بالترتيب التالي:

  1. طلب HTTP
  2. طلب بروتوكول نقل الملفات
  3. طلب JDBC

يجب تنفيذ هذه الطلبات الثلاثة خمس مرات. سيتم إرسال ما مجموعه 15 طلبًا من المستخدمين إلى Google خادم بواسطة JMeter.

In تسلسلي النظام، يتم إرسال الطلبات بالتتابع بالترتيب التالي:

طلب HTTP -> طلب FTP -> طلب JDBC

لكل حلقة.

تحكم عشوائي

In عشوائية النظام، يتم إرسال الطلبات كما بطريقة عشوائية،

طلب FTP -> طلب HTTP -> طلب JDBC

Or

طلب JDBC -> طلب FTP -> طلب HTTP

لكل حلقة.

وحدة تحكم

الهدف من وحدة التحكم في الوحدة هو إضافة نمطية إليها JMeter.

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

وحدة تحكم

فكر في السيناريو التالي -

تريد محاكاة:

  • المستخدمين 50 تسجيل الخروج,
  • المستخدمين 100 تسجيل الدخول
  • المستخدمين 30 يبحث www.google.com

يمكنك استخدام JMeter لإنشاء 3 وحدات. تحاكي كل وحدة نشاط كل مستخدم: تسجيل الدخول، وتسجيل الخروج، والبحث.

وحدة تحكم

تختار وحدة التحكم في الوحدة النمطية التي يجب تشغيلها.

وحدة تحكم

وحدات تحكم مهمة أخرى

  • تشابك المتحكم: يلتقط ويصنع صورة واحدة؟ تشغيل طلب المستخدم في كل حلقة الخيط.
  • وقت التشغيل المراقب: الضوابط حتى متى يُسمح لأطفالها بالركض.

على سبيل المثال، إذا حددت وحدة التحكم في وقت التشغيل لمدة 10 ثوانٍ، JMeter سيتم تشغيل الاختبار الخاص بك لمدة 10 ثانية.

وحدات تحكم مهمة أخرى

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

مثال على وحدة تحكم الحلقة

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

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

  • قم بإضافة طلب HTTP واحد إلى وحدة تحكم الحلقة بعدد حلقات 50
  • قم بتكوين عدد حلقات مجموعة الخيوط إلى 2
  • ثم، JMeter سيرسل إجمالي 50 * 2 = 100 طلب HTTP.

هذا هو خريطة طريق من هذا المثال:

مثال على وحدة تحكم الحلقة

الخطوة 1) تكوين مجموعة المواضيع

We إعادة استخدام الخطوة 1، 2 في البرنامج التعليمي JMeter اختبار أداء.

  1. إضافة مجموعة المواضيع

انقر بالزر الأيمن على خطة اختبار وأضف مجموعة سلاسل رسائل جديدة: إضافة-> المواضيع (المستخدمين) ->مجموعة الخيوط

ولكن في لوحة تحكم Thread Group، أدخل خصائص الموضوع كما يلي:

إضافة مجموعة المواضيع

سوف تصنع صورة واحدة؟ طلب المستخدم إلى خادم الويب google.com وتشغيله 2 .

  1. إضافة JMeter عناصر

أضف طلب HTTP الافتراضي إلى www.google.com.

  1. إضافة وحدة تحكم الحلقة

انقر بزر الماوس الأيمن فوق مجموعة المواضيع -> وحدة التحكم المنطقية -> وحدة التحكم الحلقية

إضافة وحدة تحكم الحلقة

الخطوة 2) تكوين وحدة تحكم الحلقة

أضف القيمة 50 إلى حقل عدد الحلقات كما هو موضح أدناه. سوف تصنع صورة واحدة؟ طلب المستخدم إلى خادم الويب google.com شغلها 50 مرات، بالإضافة إلى قيمة الحلقة =2، التي حددتها لمجموعة الخيوط أعلاه JMeter سوف ترسل ما مجموعه 2 * 50 = 100 طلبات HTTP.

تكوين وحدة تحكم الحلقة

انقر بزر الماوس الأيمن فوق وحدة التحكم في الحلقة، ثم أضف -> أخذ العينات -> طلب HTTP

تكوين وحدة تحكم الحلقة

الخطوة 3) إضافة عرض النتائج في الجدول

نعيد استخدام الخطوة 2 في عداد لإضافة عرض النتائج في الجدول

لذلك تظهر خطة الاختبار في الشكل أدناه

إضافة عرض النتائج في الجدول

الخطوة 4) قم بإجراء الاختبار الخاص بك

قم الآن بإرجاع عرض النتائج في الجدول، وانقر فوق الزر "ابدأ" في شريط القائمة (Ctrl+R) لإجراء الاختبار

كما هو موضح في الشكل أدناه ، JMeter يحاكي طلب مستخدم واحد، والذي يتم إرساله 100 مرة إلى خادم الويب http://www.google.com/. يتم إيقاف الاختبار بعد إرسال طلب المستخدم 100 مرة.

قم بتشغيل الاختبار

فحص الجهاز

  1. إذا واجهت المشكلة أثناء تشغيل السيناريو أعلاه، فقم بما يلي
  2. تحقق مما إذا كنت متصلاً بالإنترنت عبر وكيل. إذا كانت الإجابة بنعم، قم بإزالة الوكيل.
  3. افتح مثيلًا جديدًا لـ Jmeter
  4. فتح ControllerTestPlan.jmx في جيميتر
  5. انقر على مجموعة المواضيع -> عرض النتيجة في الجدول
  6. قم بتشغيل الاختبار

الأسئلة الشائعة

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

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

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

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

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

تلخيص هذه التدوينة بـ: