أباتشي جيمتر
المحتويات

تعريفًا بالموضوع، اباتشي جميتر (بالإنجليزية: Apache JMeter) هو مشروع برمجي مجاني لأداء اختبارات أداء التطبيقات والخوادم بحسب بروتوكولات مختلفة إلى جانب اختبارات وظيفية. تم تطويره داخل مؤسسة Apache (ASF) . وتعرض الأقسام التالية جوانب أخرى من الموضوع.
من جهة ثانية، يحتوي على الوظائف الرئيسية لهذا النوع من الأدوات: استخدام مجموعة بيانات لسيناريوهات ويب تسجيل الاستعانة بمصادر خارجية، وسيناريوهات «ديناميكية»، والتكيف مع استجابات الخادم، واكتشاف الأخطاء، وقابلية التوسع، وإدارة ملفات تعريف الارتباط وإعادة كتابة (في ) عناوين URL، وإطلاق الاختبارات من عدة محطات عمل، وما إلى ذلك. من الممكن كذلك، بدءًا من الإصدار 2.4، إجراء «انتحال IP» (محاكاة عدة عناوين IP من نفس محطة الاختبار) باستخدام طلبات HTTP HTTPClient (الحد الأدنى من HttpClient الإصدار 3).
وفي هذا السياق، يقيس وقت الاستجابة لكل طلب ويصدر إحصاءات عن أوقات الاستجابة هذه.
إضافةً إلى ذلك، تتوفر معالجات الاختبار المسبق/اللاحق، مما يسمح مثلًا بتعديل استعلام ديناميكيًا قبل تنفيذه أو لاستخراج البيانات من نتائج الاختبار. يمكن عرض نتائج الاختبار بطرق مختلفة ويمكن كذلك حفظها كملف بتنسيق XML أو CSV .
من جهة ثانية، يسمح لك بمحاكاة سلوك الكثير من المستعملين الذين يتصرفون في وقت واحد على تطبيق ويب. مع تطوره، تم تمديده وجعل من الممكن اختبار أنواع أخرى من التطبيقات: خوادم بروتوكول نقل الملفات وخوادم خدمات الويب وقواعد البيانات التي يمكن الوصول إليها عبر jdbc وTCP / IP وخوادم LDAP وما إلى ذلك.
كذلك، تمت كتابة اباتشي جميتر بالكامل بلغة جافا، مما يسمح باستخدامه على أي نظام تشغيل يدعم آلة جافا الافتراضية.
وفي السياق ذاته، يمكن لـاباتشي جميتر كذلك إجراء اختبارات وظيفية لأحد التطبيقات، مما يسمح بالتحقق من صحة وظائف التطبيق بطريقة آلية.
تجربة أداء
ومن جهة أخرى، اختبار المتانة: محاكاة حركة المرور للتحقق من المتانة بحسب مستوى حركة المرور
اختبار الكسر
المكونات الأساسية لـاباتشي جميتر
ومن ناحية أخرى، عداد الوقت العشوائي الغاوسي: عنصر يسمح بإدخال وقت عشوائي بحسب منطق غاوسي بين كل طلب يتم إرساله
وفي هذا السياق، افتراضيات HTTP وFTP و LDAP و JDBC و Java : المكونات المستعملة لتحديد المعلمات الافتراضية، سيتم استخدامها لجميع الطلبات
كذلك، عداد التزامن: مكون يسمح بانتظار عدد معين من الوحدات لتنفيذ الطلب التالي في نفس الوقت
علاوةً على ذلك، تحكم مسجل: مكون يهدف إلى التقاط طلبات HTTP التي تم اعتراضها بواسطة مكون وكيل HTTP (Proxy).
وفي هذا الصدد، حجم التوكيد: للتحقق مما إذا كان حجم الاستجابة (بالبايت) أكبر، أو أقل، أو مساويًا... إلى حجم محدد مسبقًا
من جهة ثانية، مدة التأكيد: للتحقق مما إذا كان قد تم استلام الاستجابة قبل أو بعد وقت محدد مسبقًا
كذلك، وحدة تحكم تنفيذ واحدة: مكون يُستعمل لبدء تشغيل الاستعلامات المحددة مرة واحدة، بغض النظر عن عدد التكرارات المخطط لها.
وفي هذا السياق، عداد الوقت الثابت: عنصر يسمح بإدخال وقت ثابت بين كل طلب يتم إرساله
ومن ناحية أخرى، تحكم (Controllers): يسمح بتحديد معلمات الاختبار المطلوب إجراؤها. يتضمن اباتشي جميتر عدة أنواع من وحدات التحكم:
وفي السياق ذاته، استجابة التوكيد: للتحقق مما إذا تم العثور على سلسلة أحرف واحدة أو أكثر في الاستجابة المستلمة
تأكيد XPATH : للتحقق من تعبير XPATH لموجز XML
من جانب آخر، وحدة تحكم متداخلة ووحدات تحكم عشوائية: المكونات المستعملة لإرسال الطلبات بترتيب عشوائي.
ومن جهة أخرى، عارض البريد: مكون يسمح بإرسال بريد إلكتروني إلى المسؤول في حالة حدوث الكثير من الإخفاقات في الطلبات المنفذة
ومن ناحية أخرى، يوفر اباتشي جميتر إمكانية إدراج إيقاف مؤقت بين كل طلب يتم إرساله من خلال عدادات الوقت أو عناصر إجراء التحكم في التنفيذ مع الإجراء = الإيقاف المؤقت. العدادات المختلفة المتاحة:
وفي هذا الصدد، عدد التكرارات (Loop Count): عدد التكرارات التي ستقوم بها كل وحدة (مستعمل).
كذلك، نتائج التوكيد: مكون يوفر نتائج التأكيدات في شكل نصي لجميع الاستعلامات المنفذة
- خطة اختبار (Test Plan): الموقع الذي نحدد منه ما نختبره.
- مجموعة الوحدة (Thread Group): الموقع الذي يتم من خلاله تحديد معلمات المحاكاة:
- عدد الوحدات (Number of Thread): عدد المستعملين المتصلين.
تحكم حلقة: مكون يستعمل لإرسال الطلبات المحددة عدة مرات.
من جهة ثانية، تأكيد MD5 : للتحقق مما إذا كانت تجزئة MD5 للاستجابة (الرأس والجسم) تتوافق مع تجزئة MD5 المحددة مسبقًا.
علاوةً على ذلك، مدير تفويض HTTP : مكون يوفر معرفًا وكلمة مرور للمواقع التي يتم تقييد الوصول إليها
وفي هذا الصدد، جدول النتائج: مكون يقوم بإنشاء جدول لجميع الاستعلامات المنفذة ونوعها ووقت استجابتها وصلاحيتها.
إضافةً إلى ذلك، للحصول على نتائج الاختبار وعرضها، يشتمل اباتشي جميتر على أجهزة استقبال. تتوفر عدة أجهزة استقبال:
وفي هذا السياق، يقدم اباتشي جميتر عنصرًا غير اختبار يسمى "HTTP(S) Test Script Recorder" (الاسم القديم: "HTTP Proxy Server") الذي يسمح بتسجيل جلسة استخدام تطبيق ويب يتم تنفيذه من متصفحه. يتم اعتراض الطلبات بواسطة وكيل إعادة الترميز، ويتم إنشاؤها كعناصر فرعية لوحدة تحكم المسجل، وتكون جاهزة لإعادة التنفيذ. يؤدي ذلك إلى تسريع إكمال سيناريو اختبار الأداء.
وفي السياق ذاته، الرسم البياني للنتائج: عنصر يوفر رسمًا بيانيًا يعرض أوقات الاستجابة، والمتوسط، والوسيط، والانحراف المعياري للطلبات المختلفة المقدمة
من جانب آخر، مسجل بيانات بسيط: المكون الذي يحفظ نتائج الاختبار في ملف معين
كذلك، شجرة النتائج: مكون يعرض قائمة الطلبات المنفذة ونوعها وبيانات استجابتها
من جهة ثانية، مقياس التدفق المستمر: مكون يستعمل للتحكم في وتيرة تنفيذ استعلام
ومن جهة أخرى، حان وقت التكثيف (Ramp-up period): الفترة الزمنية التي يقوم خلالها هؤلاء المستعملون بتسجيل الدخول تدريجيًا.
ومن ناحية أخرى، مدير ملفات تعريف الارتباط HTTP : مكون يستعمل لتخزين وإرسال وتحديد ملفات تعريف الارتباط لإرسالها إلى الخادم.
ومن ناحية أخرى، الخيار اللانهائي (Infinite): يحدد أن الوحدات تتكرر إلى أجل غير مسمى (غالبًا في هذه الحالة، يكون التوقف يدويًا أو بعد مدة بالثواني).
وفي السياق ذاته، تقرير إجمالي: مكون إنشاء جدول لجميع إحصائيات الاختبارات المنفذة
- برنامج العمل (Workplan): الموقع للاحتفاظ بمكونات الاختبار غير المستعملة.
- مدير SSL : مكون يستعمل لإدارة مفاتيح SSL للمصادقة عبر شهادة SSL .
- يحتوي اباتشي جميتر على ما يلي:
تأكيد JSON : للتحقق من مسار بتنسيق JSON
ومن جهة أخرى، تحكم المعاملات: مكون يستعمل لتوحيد النتائج (وقت الاستجابة) لمجموعة من الطلبات.
تأكيد XML : للتحقق من أن صفحة الاستجابة هي مستند XML صالح.
ومن ناحية أخرى، مدير رأس HTTP : مكون يستعمل لتحديد رأس HTTP للطلبات المرسلة.
علاوةً على ذلك، يتم تحليل استجابات الخادم عن طريق التأكيدات، وهناك عدة أنواع:
في هذا الإطار، عينات (Samples): الطلبات التي يمكن إرسالها إلى خادم أو تطبيق ويب لاختبار موارده. يتضمن اباتشي جميتر طلبات FTP وطلبات HTTP وطلبات JDBC وطلبات JMS وطلبات كائن Java وطلبات LDAP وطلبات SOAP / XML-RPC وطلبات WebService (SOAP).
وعلى صعيد آخر، يسمح لك اباتشي جميتر بإدارة معلمات مواقع أو خوادم معينة (ملفات تعريف الارتباط، مواقع آمنة). المكونات المتاحة لإدارة هذه الإعدادات هي كما يلي:
في هذا الإطار، شاشة منحنى (خدد): مكون يوفر رسمًا بيانيًا لوقت الاستجابة للطلبات المختلفة المنفذة، بحسب منطق سبلين
نقاط مثيرة للاهتمام
في هذا الإطار، نطاق اختبارات الأداء الممكنة واسع جدًا. هناك طريقة لاختبار أداء نصوص SQL وطلبات HTTP / SOAP / EJB والمكالمات إلى فئات جافا والمزيد. توفر الواجهة الرسومية لـاباتشي جميتر إمكانيات لإجراء اختبارات متعددة الخيوط، لإنشاء حلقات اختبار ووحدات تحكم أكثر تحديدًا.
ميزاته الرئيسية هي:
الكتب المرجعية
- JMeter Cookbook ، كتاب باللغة الإنجليزية بواسطة Bayo Erinle أكتوبر 2014
- اختبار الأداء مع JMeter ، كتاب باللغة الإنجليزية بواسطة Bayo Erinle يوليو 2013
- أباتشي جي ميتر، كتاب إنجليزي بقلم إميلي هاليلي يونيو 2008
- مراجع
- روابط خارجية
ومن جهة أخرى، ماجستير جي ميتر من اختبار الحمل إلى DevOps ، كتاب باللغة الإنجليزية من تأليف أنطونيو جوميز رودريغز، وبرونو ديميون (ميلامبر) وفيليب معوض، أكتوبر 2018
من جهة ثانية، إتقان جميتر: Du Test de charge à Devops ، كتاب بالفرنسية من تأليف أنطونيو جوميز رودريغز، برونو ديميون (ميلامبر) وفيليب معوض، نوفمبر 2015
تحقيق النتائج الإحصائية بعدة أشكال بيانية ونصية
من جهة ثانية، اباتشي جميتر هي أداة اختبار عامة، فهي لا تقتصر على نوع واحد من نوع الاختبار، بل يقوم عالم المقاييس، من خلال إنشاء سيناريو الاختبار الخاص به، بتحديد نوع الاختبارات. يمكنك كذلك مزج البروتوكولات في نفس الاختبار (http وftp مثلًا). فضلًا عن ذلك، فإن اباتشي جميتر قابل للتوسيع، أي أنه من الممكن إنشاء أنواع جديدة من العينات (الطلبات) لتنفيذ البروتوكولات الأخرى.
موقع رسمي
- اباتشي جميتر التعليمي: اختبار تحميل موقع على شبكة الإنترنت، تعليمات للاستخدام
- دروس ومقالات مختلفة على اباتشي جميتر
- مجموعة مناقشة حول اباتشي جميتر باللغة الفرنسية
📝 هل في هذه المقالة خطأ؟
إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.
ما رأيك في هذه المقالة؟