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

اختبار تحميل JMeter مع LoadView

تغلب على قيود اختبار تحميل JMeter باستخدام LoadView

ما هو JMeter؟

تم تطوير Apache JMeter باستخدام لغة Java بنسبة 100٪ ، أو JMeter فقط ، وهي أداة اختبار تحميل قوية وثقيلة الميزات. يمكن لهذا البرنامج تحميل اختبار كل من الموارد الديناميكية والثابتة عن طريق توليد مستخدمين متزامنين لإنشاء بيئة اختبار واقعية للتعرف على الاختناقات في أي تطبيق ويب أو هاتف محمول. عندما نتحدث عن الموارد الثابتة والديناميكية ، يمكن أن تكون الموارد الثابتة لغات وأطر عمل مثل جافا سكريبت أو HTML. يمكن أن تكون الموارد الديناميكية أطرا ولغات مثل AJAX و Flex.

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

 

ما هو اختبار الحمل؟

اختبار أداء إجهاد الحملاختبار الحمل ، كما ذكرنا سابقا ، هو طريقة لتقييم سلوك أي تطبيق عند تطبيقه مع أحمال مختلفة (المستخدمون / حركة المرور). بكلمات بسيطة ، يساعد اختبار التحميل على فهم كيفية أداء البرنامج (لنفترض أن موقع الويب “abc.com”) عندما يستخدم 20 مستخدما النظام الأساسي في وقت واحد؟ وبالمثل ، ما هي التغييرات في الأداء الذي تحصل عليه إذا زاد عدد المستخدمين من 20 إلى 100؟ أو حتى الآلاف من المستخدمين؟ يتم تطبيق اختبار الحمل لتحديد الأخطاء التي تحدث في عملية التطوير ، والتي تكون مسؤولة عن ضعف أداء أو فشل برنامج معين. هذا يساعد المطورين على تعديل الأخطاء للتأكد من أن كل شيء يعمل بسلاسة. على العكس من ذلك ، يجب أن تعرف أن اختبار الحمل قد يتطلب في بعض الأحيان فريقا محترفا ومتمرسا للحصول على النتائج الصحيحة.

 

خمس حالات اختبار تحميل JMeter

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

 

مثال 1 – اختبار التحميل ل Google

في المثال الأول ، أنت على وشك رؤية التحليل الذي أجراه المختبرون Google.com باستخدام JMeter عندما يكون هناك 100 مستخدم متوقع.

 

خطة الاختبار والنتيجة

 

الخطوة 1: إضافة مجموعة مؤشرات الترابط

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

خطة > الاختبار إضافة > مجموعة مؤشرات الترابط > المواضيع

أدخل “100” في “عدد المواضيع” مع “عدد الحلقات” من 10 و “فترة التكثيف” من 100. لكن انتظر! تذكر المصطلحات. يشرح عدد سلاسل الرسائل عدد المستخدمين الذين يستخدمون النظام الأساسي (في هذه الحالة google.com). يحدد عدد الحلقات عدد المرات التي سيتم فيها تنفيذ الاختبار. وتخبر فترة التكثيف أنه بعد أي فاصل زمني يجب إضافة مستخدم جديد. لذلك ، هذا المثال مخصص لاختبار الحمل من خلال JMeter عندما يكون هناك 100 مستخدم ، والذي سيتم تضمينه بعد كل تأخير لمدة 100 ثانية.

 

الخطوة 2: إضافة عناصر JMeter

هنا ، حدد المختبرون عناصر JMeter. لذلك ، بعد إنشاء مجموعة سلاسل الرسائل ، يجب عليك تحديد خيار “افتراضيات طلب HTTP”. للقيام بذلك ، انقر بزر الماوس الأيمن فوق مجموعة سلاسل الرسائل ، ومرر مؤشر الماوس فوق “عنصر التكوين” ، ثم اختر “الإعدادات الافتراضية لطلب HTTP”. بعد ذلك ، يجب عليك إضافة اسم الخادم أو عنوان IP (في هذه الحالة ، http://www.google.com).

الإعدادات الافتراضية لطلب تكوين عنصر > > تكوين مجموعة مؤشرات الترابط HTTP

بعد ذلك ، انقر بزر الماوس الأيمن فوق “مجموعة المواضيع” ، ومرر مؤشر الماوس فوق “إضافة” ثم مرر مؤشر الماوس فوق “أخذ العينات” ، ثم “طلب HTTP”. وإذا كان هناك أي مسار محدد للاختبار ، فقم بملء حقل “المسار” في لوحة تحكم طلب HTTP. على سبيل المثال، أدخل “التقويم” في الحقل للسماح ل JMeter بإنشاء طلب عنوان URL (http:www.google.com/calendar) إلى خادم Google.

إضافة > طلب HTTP لأخذ العينات >

ولكن على سبيل المثال ، ترك المختبرون حقل المسار فارغا ، والمعلومات مخصصة فقط لبناء المعرفة الخاصة بك.

 

الخطوة 3: إضافة نتائج الرسم البياني

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

إضافة > نتائج الرسم البياني للمستمعين >

 

الخطوة 4: تفسير الاختبار والنتائج

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

الأزرق: متوسط العينات المرسلة

أسود: إجمالي عدد العينات المرسلة

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

الأحمر: الانحراف المعياري

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

Results_Google الرسم البياني JMeter

 

لذلك ، في مثال اختبار تحميل JMeter هذا ، تبلغ إنتاجية Google 1,491.193 في الدقيقة. وهذا يعني أن خوادم Google يمكنها معالجة طلبات 1,491.193 / دقيقة. والانحراف يساوي ٥٧٧. وبالتالي ، ثبت أن خادم Google مثالي ويمكن أن يتحمل أقصى حمولة.

 

مثال 2 – اختبار التحميل ل Yahoo

بعد Google ، دعنا نقوم بتحميل اختبار Yahoo من خلال JMeter باتباع نفس الخطوات المذكورة في المثال الأول مع خطة اختبار مماثلة (100 “عدد المواضيع” و 10 “عدد الحلقات” و 100 “فترة التصاعد”).

Results_Yahoo الرسم البياني JMeter

 

أثناء المرور عبر الطريقة بأكملها ، فإن النتائج التي تم الحصول عليها ل Yahoo هي:

  • Throughput = 867.326 في الدقيقة
  • الانحراف = 2689

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

 

مثال 3 – اختبار التحميل لمتجر الحيوانات الأليفة التجريبي

 

هذا مثال على موقع متجر الحيوانات الأليفة التجريبي (JPetstore).

 

خطة الاختبار والنتيجة

 

الخطوة 1: إضافة مجموعة مؤشرات الترابط

الخطوة الأولى مشابهة للمثال 1. لذا ، افتح “خطة الاختبار” في JMeter وحدد “مجموعة الموضوع”.

خطة > الاختبار إضافة > مجموعة مؤشرات الترابط > المواضيع

ثم أدخل القيم التالية في “خصائص مؤشر الترابط”.

  • عدد المواضيع (المستخدمون) = 20
  • فترة التكثيف (بالثواني) = 120
  • عدد الحلقات = تم التحقق منه إلى “إلى الأبد”

 

الخطوة 2: إضافة عناصر JMeter

انقر فوق خيار “الإعدادات الافتراضية لطلب HTTP” (كما هو مذكور في المثال 1) ، وأضف اسم الخادم أو عنوان IP (http://localhost:8080/actions/Catalog.action).

الإعدادات الافتراضية لطلب تكوين عنصر > > تكوين مجموعة مؤشرات الترابط HTTP

ملاحظهJPetstore هو موقع تجريبي ويتم استخدامه من قبل المختبرين في بيئة الاختبار الخاصة بهم ، وبالتالي ، لا يمكن الوصول إليه على الإنترنت ، لأنه متاح على الخادم الشخصي (المضيف المحلي).: لا يوجد مسار مستخدم في هذا المثال. ومع ذلك ، يمكنك إضافة أي عنوان ترغب في تشغيل اختبار تحميل JMeter عليه. على سبيل المثال
www.google.com
أو
www.yahoo.com
.

 

الخطوة 3: إضافة نتائج الرسم البياني

انتقل إلى “المستمع” لتحديد “نتائج الرسم البياني” للحصول على نتائج في المرئيات.

إضافة > نتائج الرسم البياني لمجموعة > مؤشرات الترابط

 

الخطوة 4: تفسير الاختبار والنتائج

Results_PetStore الرسم البياني JMeter

 

في هذه الحالة، يكون معدل الإنتاجية 89.871 في الدقيقة، والانحراف هو 142 (أكبر من الإنتاجية). لذلك ، يوضح الرسم البياني أن JPetstore لا يمكنه التعامل مع الحمل.

 

مثال 4 – اختبار الحمل ل JMeter Apache

تم إعداد هذا المثال لتحميل اختبار JMeter Apache (jmeter.apachi.org) باستخدام نتائج الرسم البياني للتفسير.

 

خطة الاختبار والنتيجة

 

الخطوة 1: إضافة مجموعة مؤشرات الترابط

على غرار الأمثلة السابقة ، افتح “خطة الاختبار” وانقر فوق “مجموعة سلاسل الرسائل”.

خطة > الاختبار إضافة > مجموعة مؤشرات الترابط > المواضيع

أدخل هذه القيم في خصائص مؤشر الترابط:

  • عدد المواضيع (المستخدمين) = 100
  • فترة التسلق (بالثواني) = 100
  • عدد الحلقات = 20

 

الخطوة 2: إضافة عناصر JMeter

الآن قم بإنشاء طلب HTTP الافتراضي تماما كما هو موضح في الأمثلة السابقة.

الإعدادات الافتراضية لطلب تكوين عنصر > > تكوين مجموعة مؤشرات الترابط HTTP

في هذه الحالة ، استخدم المختبرون “المسار” لإنشاء طلب (download_jmeter) لصفحة التنزيل. لذلك، أدخل الطلب في حقل المسار.

إضافة > طلب HTTP لأخذ العينات >

 

الخطوة 3: إضافة نتائج الرسم البياني

مرر مؤشر الماوس على “المستمع” لتحديد “نتائج الرسم البياني” للحصول على نتائج في المرئيات.

إضافة > نتائج الرسم البياني لمجموعة > مؤشرات الترابط

 

الخطوة 4: تفسير الاختبار والنتائج

JMeter الرسم البياني Results_JMeter أباتشي

 

في هذا السيناريو، الانحراف هو 195 والإنتاجية هو 1,136.719 (أكبر من الانحراف). هذا يعني أن صفحة التنزيل يمكنها إدارة 1,136.719 عملية تحميل (طلبات / مستخدمين) في الدقيقة الواحدة ، وهو أمر مثير للإعجاب للغاية.

 

مثال 5 – اختبار التحميل لموقع التجارة الإلكترونية

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

 

خطة الاختبار والنتيجة

 

الخطوة 1 – إعداد مسار التحويل بشكل واقعي

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

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

 

الخطوة 2: إضافة وقت التفكير

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

لا تضيف تأخير 1 أو 2 ثانية لأن ذلك سيكون غير واقعي. لهذا السبب ، قام المختبرون على سبيل المثال بتعيين 750 مللي ثانية في “خصائص تأخير مؤشر الترابط” للتأخير العشوائي وتعيين التأخير الثابت إلى 200 مللي ثانية. يتم كل شيء باستخدام “مؤقت عشوائي موحد” من لوحة التحكم.

 

الخطوة 3: إعداد معلمة مجموعة مؤشر الترابط

تماما مثل المثال 1 ، يجب عليك تضمين “عدد سلاسل الرسائل” و “فترة التصاعد” و “عدد الحلقات” بالنقر فوق خيار “مجموعة سلاسل الرسائل”. فيما يلي خصائص هذا المثال:

  • عدد المواضيع (المستخدمين): 100
  • فترة التكثيف (بالثواني): 1
  • عدد الحلقات: 50

 

الخطوة 3: إنشاء مستخدمين افتراضيين فريدين

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

JMeter_Unique المستخدمين الافتراضيين

 

بمجرد الانتهاء من القائمة ، قم بتخزينها كملف CSV ، ثم قم باستيرادها في JMeter أثناء اختبار التحميل.

 

الخطوة 4: إضافة نتائج الرسم البياني

يجب عليك إضافة “نتائج الرسم البياني” لرؤية النتائج في تمثيل رسومي. يمكنك اتباع “الخطوة 3” من المثال 1 لإضافة نتائج الرسم البياني.

 

الخطوة 5: تفسير الاختبار والنتائج

بعد إجراء الاختبار، يتم تزويدك بتقرير اختبار.

Results_Ecommerce الرسم البياني JMeter

 

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

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

 

مؤشرات

يتم الانتهاء من أمثلة اختبار تحميل JMeter أعلاه باستخدام إصدارين مختلفين من JMeter ، لذلك لا داعي للذعر إذا وجدت مصطلحات متميزة في الإصدار المثبت. يتم تفسير جميع النتائج المذكورة أعلاه من خلال “نتائج الرسم البياني”. ومع ذلك ، هناك “مستمعون” آخرون يمكنك استخدامهم لتصوير النتائج ، مثل:

  • التقرير التجميعي
  • الرسم البياني التجميعي
  • عرض النتائج في الجدول
  • عرض النتائج كشجرة
  • إنشاء نتائج موجزة

 

الاستنتاج: خمسة أمثلة لاختبار تحميل JMeter

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

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

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