خدمة اختبار التحميل. خدمة اختبار التحميل Loadme

واجه فريقنا عيوبًا في أدوات اختبار الحمل، وفي النهاية، تقرر تطوير خدمتنا الخاصة. الصعوبات الرئيسية:

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

ما الذي تم إنجازه بالفعل؟

  • يمكنك اختبار المهام من قائمة عناوين URL، حتى 20 قطعة
  • يمكن أن يحتوي كل عنوان url على معلمة عشوائية واحدة أو أكثر يتم تحديدها باستخدام الدالة $RND
  • يتم تشغيل الاختبار من خوادم متعددة، يعمل كل منها على 8 سلاسل فقط
  • يمكن إجراء الاختبار من 5 مناطق AWS - دبلن، وفرانكفورت، وشرق/غرب الولايات المتحدة، وطوكيو
  • نحن على استعداد لتقديم اختبارات لما يصل إلى 200 موضوع مجانًا
للاختبار، افتح النموذج، حيث نشير إلى البريد الإلكتروني، واملأ عنوان URL، وحدد عدد سلاسل الاختبار والمنطقة وابدأ الاختبار.

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

خلال دقيقة واحدة، ستكون نتيجتك جاهزة (على سبيل المثال، راجع النتيجة الممتازة - اختبار example.net). كما ترون، يتيح لك 200 موضوع إنشاء أكثر من 1000 طلب في الثانية - كل هذا يتوقف على سرعة الاتصال بالخدمة التي يتم اختبارها، وما إلى ذلك. في الواقع، سرعة الاستجابة.

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

ما لاختبار؟
يجب تقديم الموارد الثابتة والصور والبرامج النصية من CDN. ليس من المنطقي اختبار سرعة التحميل الخاصة بهم IMHO؛ ما عليك سوى اختبار سرعة تحميل الصفحة الإجمالية، على سبيل المثال باستخدام http://tools.pingdom.com/fpt/ القديم.

يركز Loadme على اختبار طرق كود الصفحة/واجهة برمجة التطبيقات، وما إلى ذلك... بالطبع، من الممكن اختبار خدمة nginx لـ 1x1.gif باستخدام هذه الأداة، لكن لا توجد فائدة عملية، ولن يستعد nginx حتى من هذا.

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

كيف تعمل عمليات إعادة التوجيه؟
يتم تنفيذ عمليات إعادة التوجيه؛ نحن نستخدمها بنشاط لاختبار أحد مواقعنا، wikiart.org، من خلال تنفيذ وظيفة "الانتقال إلى صورة عشوائية" عليه.

لماذا من المهم اختبار عناوين URL متعددة؟
لاختبار التأثير المتبادل للصفحات السريعة الشائعة والبطيئة (على سبيل المثال، البحث)

لماذا هناك حاجة إلى $RND؟
بناء الجملة هو $RND(from,to).
على سبيل المثال، سيؤدي http://someshop.com/search?from=$RND(0,1000)&to=$RND(1000,10000) إلى إنشاء استعلامات عشوائية للبحث عن منتجات تتراوح أسعارها من 0 إلى 1000 وتنتهي من 1000. إلى 10000. وهذا يجعل من الممكن تقدير قوة البحث الحقيقية.
على سبيل المثال، يقضي المتجر الأوكراني الشهير Rozetka ما متوسطه 5 ثوانٍ في البحث عن الهواتف الذكية بسعر عشوائي:
http://loadme.socialtalents.com/Result/ViewById/56108a645b5f1700481cc21d، وهي نتيجة بعيدة كل البعد عن المثالية.
تتعامل أمازون مع هذه المهمة بشكل أفضل - حيث من المرجح أن يكون هناك عدد كبير من الأخطاء نتيجة حماية ddos

خطط مستقبلية

نشر، وضع، حذف الطلبات
الشيء الضروري هو بالتأكيد في الخطط.

تفويض
هل سيكون دعم ملفات تعريف الارتباط كافيًا بحيث يقوم الطلب الأول بتسجيل الاختبار تحت مستخدم عشوائي (والذي سيتطلب دعمًا من الخادم)، وسيتم تنفيذ المزيد من العمل نيابة عن هذا المستخدم؟

اختبارات الخطوة
لنفترض، إجراء سلسلة من الاختبارات: 25%، و50%، و75%، و100%، ولاحظ الفرق في السرعة.


بدلاً من عدد الخيوط، اسمح للمستخدم باختيار عدد العمليات التي يريد بدئها في الثانية.

اختبار منتظم المقرر
كرر الاختبار كل يوم/أسبوع وأرسل التقرير عبر البريد الإلكتروني.
يمكنك أيضًا توفير نوع ما من خطاف الويب لتشغيل اختبار موجود من التعليمات البرمجية (على سبيل المثال، بعد التحديث)

تحسين التصور الإنتاجية
ربما تصرف الخادم بطريقة غير منتظمة. نحن نخطط لإضافة تصور لمعدل إنتاجية الخادم بالثواني.

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

المنافسين الحاليين
Loadimpact.com - لاختبار التحميل العادي، سيتطلب ما لا يقل عن 100 طلب في الثانية، 1500 مما يسمى بـ "المستخدمين الافتراضيين" - يقوم كل منهم بتحميل الصفحة مرة واحدة كل 15 ثانية. تبلغ تكلفة هذه الحزمة حاليًا 299 دولارًا شهريًا.

تعتبر Loader.io خدمة ممتازة، حيث تبلغ تكلفة الحزمة المدفوعة 99 دولارًا شهريًا فقط. إعدادات URL مرنة للغاية - يمكنك تعيين الأساليب وملفات تعريف الارتباط والعناوين، ولكن لم يكن لدينا ما يكفي من التوزيع العشوائي للاختبار.

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

اختبار الإجهاد

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

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

جميتر

كما هو الحال مع الاختبار الآلي، كان لا بد من تعلم اختبار الحمل مباشرة في الممارسة العملية. كان الدليل الوحيد هو Jmeter، حيث تبين فيما بعد أنه أحد أشهر الأدوات لاختبارات التحميل. تتمثل المزايا الكبيرة لـ Jmeter في أنه يحتوي على مجتمع كبير، وهو مفتوح المصدر ويتم تحديثه بشكل متكرر. يحتوي البرنامج أيضًا على واجهة مستخدم رسومية سهلة الاستخدام للغاية وإمكانية التشغيل عبر وحدة التحكم.

البحث: جميتر، اختبار الحمل مع jmeter

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

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

بحث: موضوع، مبادلة

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

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

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

هناك بعض الأدوات الأخرى التي صادفتها مؤخرًا لكتابة اختبارات التحميل والتي وجدتها مثيرة للاهتمام.

ياندكس تانك

لا أستطيع أن أقول على وجه اليقين، ولكن يبدو أن هذه أداة معروفة إلى حد ما لاختبار التحميل. لقد استخدمته عدة مرات لمحاكاة تدفق كبير من المستخدمين، وقام Yandex Tank بعمل ممتاز في هذه المهمة. ربما بالنسبة للبعض سيكون بديلاً لـ Jmeter، لأنه أسهل في الاستخدام.

البحث: اختبارات تحميل خزان ياندكس

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

بحث: الجراد، اختبار حمل الجراد

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

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

يختلف هذا النوع من الاختبارات قليلًا، ولكن له هدف مماثل - وهو تحسين جودة واستقرار منتجك ومنصتك.

غالبًا ما يتم إجراء اختبارات الأداء عندما تظهر مشكلة في الأداء بالفعل. وكان هذا هو الحال في حالتي.

المواقف المتكررة

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

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

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

البحث: ملفات تعريف الكود

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

هذا كل شئ. آمل أن أكون قد أوضحت طريقة الحفر وما يجب ممارسته. سأكون سعيدًا لسماع أسئلتك في التعليقات.

اختبار الإجهاد

اختبار الإجهاد(إنجليزي) اختبار الحمل) - تحديد أو جمع مؤشرات الأداء ووقت الاستجابة لنظام أو جهاز برمجي أو جهاز استجابة لطلب خارجي من أجل إثبات الامتثال لمتطلبات نظام (جهاز) معين.

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

اختبار تحميل البرمجيات

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

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

مثال 1:

تم تصميم خدمة ويب مع وظيفة سلة التسوق لـ 100 مستخدم متزامن يتبعون سيناريو معين (إجراءات محددة بنسب محددة):

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

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

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

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

المبادئ الأساسية لاختبار الحمل

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

1. تفرد الطلبات

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

رسم توضيحي لتوزيعات التشتت المختلفة لأوقات تنفيذ الاستعلامات X وY.

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

2. وقت استجابة النظام

بشكل عام، زمن استجابة النظام يتبع دالة التوزيع الطبيعي.

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

3. اعتماد زمن استجابة النظام على درجة توزيع هذا النظام.

يتناسب تباين التوزيع الطبيعي لوقت استجابة النظام للطلب مع نسبة عدد عقد النظام التي تعالج هذه الطلبات بالتوازي وعدد الطلبات لكل عقدة.

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

4. الاختلاف في زمن استجابة النظام

من البيانات 1 و 2 و 3، يمكننا أيضًا أن نستنتج أنه مع وجود عدد كبير بما فيه الكفاية من قياسات وقت معالجة الطلب، في أي نظام ستكون هناك دائمًا طلبات يتجاوز وقت معالجتها الحد الأقصى المحدد في المتطلبات؛ علاوة على ذلك، كلما زاد الوقت الإجمالي للتجربة، زادت القيم القصوى الجديدة.

يجب أن تؤخذ هذه الحقيقة في الاعتبار عند تشكيل متطلبات أداء النظام، وكذلك عند إجراء اختبار الحمل المنتظم.

5. تحميل دقة استنساخ الملف الشخصي

تصبح الدقة المطلوبة لإعادة إنتاج ملفات تعريف التحميل أكثر تكلفة كلما زاد عدد المكونات التي يحتوي عليها النظام.

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

مجموعة أدوات اختبار الأداء

تجدر الإشارة إلى أن معظم أنواع اختبارات الأداء تستخدم نفس الأدوات التي يمكنها أداء المهام النموذجية.

هناك سوء فهم شائع مفاده أن أدوات اختبار تحميل النظام هي أدوات تسجيل وتشغيل مثل أدوات التشغيل الآلي لاختبار الانحدار. تعمل أدوات اختبار التحميل على مستوى البروتوكول، بينما تعمل أدوات أتمتة اختبار الانحدار على مستوى كائن واجهة المستخدم الرسومية.

هناك أدوات مختلفة للكشف عن المشكلات والتحقيق فيها في أجزاء مختلفة من النظام. يمكن تصنيف جميع عقد النظام على النحو التالي:

  • طلب،
  • قاعدة البيانات،
  • شبكة،
  • معالجة جانب العميل
  • توزيع الحمل.

ومن الجدير بالملاحظة أيضًا ظهور تطبيقات الأعمال التجارية (B2B) المتصلة بالشبكة والتي تستخدم اتفاقية مستوى الخدمة (أو SLA، اتفاقية مستوى الخدمة). أدت الشعبية المتزايدة لتطبيقات B2B إلى انتقال المزيد والمزيد من التطبيقات إلى البنية الموجهة نحو الخدمة، حيث يتم تبادل المعلومات دون مشاركة متصفحات الويب. ومن الأمثلة على هذا التفاعل أن تطلب وكالة سفر معلومات حول رحلة طيران محددة بين سانت بطرسبرغ وأومسك، بينما يُطلب من شركة الطيران تقديم رد خلال 5 ثوانٍ. غالبًا ما يؤدي انتهاك اتفاقية SLA إلى غرامة كبيرة.

يتم عرض أدوات اختبار الحمل الأكثر شيوعًا أدناه.

بواسطة اسم الشركة المصنعة تعليقات
أوبنستا "هندسة اختبار النظام المفتوح" برنامج مجاني لاختبار التحميل/الإجهاد، مرخص بموجب رخصة GNU GPL. يستخدم بنية تطبيق موزعة تعتمد على CORBA. يتوفر إصدار Windows، على الرغم من وجود مشكلات في التوافق مع Windows Vista. انتهى الدعم في عام 2007.
اختبار الأداء العقلاني لشركة IBM آي بي إم برنامج يعتمد على بيئة تطوير Eclipse والذي يسمح لك بإنشاء كميات كبيرة وقياس وقت الاستجابة للتطبيقات ذات بنية خادم العميل. يتطلب الترخيص.
JMeter مشروع أباتشي جاكرتا مفتوح المصدر مجموعة أدوات متعددة المنصات قائمة على Java تتيح لك إجراء اختبارات التحميل باستخدام اتصالات JDBC / FTP / LDAP / SOAP / JMS / POP3 / HTTP / TCP. يجعل من الممكن إنشاء عدد كبير من الطلبات من أجهزة كمبيوتر مختلفة والتحكم في العملية من أحدها.
اتش بي لود رانر HP أداة اختبار التحميل مصممة في الأصل لمحاكاة عمل عدد كبير من المستخدمين المتزامنين. يمكن استخدامه أيضًا لاختبار الوحدة أو التكامل.
SilkPerformer التركيز الجزئي
اختبار تحميل الاستوديو المرئي مايكروسوفت يوفر Visual Studio أدوات اختبار الأداء بما في ذلك اختبار التحميل/الوحدة
اكتمل التحميل سمارت بير

مؤشرات الأداء الرئيسية (المقاييس)

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

1. استهلاك موارد وحدة المعالجة المركزية (وحدة المعالجة المركزية، %)

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

2. استهلاك ذاكرة الوصول العشوائي (استخدام الذاكرة، ميجابايت)

مقياس يوضح مقدار الذاكرة التي يستخدمها التطبيق. يمكن تقسيم الذاكرة المستخدمة إلى ثلاث فئات:

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

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

3. استهلاك موارد الشبكة

لا يرتبط هذا المقياس مباشرة بأداء التطبيق، ولكنه يمكن أن يشير إلى حدود أداء النظام ككل.

مثال 3:

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

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

4. العمل مع النظام الفرعي للقرص (انتظار الإدخال/الإخراج)

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

5. طلب ​​وقت الاستجابة، السيدة

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

أنظر أيضا

روابط

  • منصة لخدمات اختبار المواقع والبرمجيات (الروسية)
  • بوابة متخصصي اختبار البرمجيات وضمان الجودة (باللغة الروسية) - المشروع مخصص لقضايا اختبار وتحسين جودة البرمجيات.
  • قاعدة معارف المختبرين (بالروسية) - أجهزة تتبع الأخطاء، والاختبار الآلي، واختبار التحميل، واختبار قابلية الاستخدام، والمجتمعات، والمنشورات المطبوعة، والكتب
  • أتمتة اختبار الحمل (الروسية)
  • ملاحظات حول اختبار الحمل (بالروسية)

الأدب

  • ليزا كريسبين، جانيت جريجورياختبار رشيق: دليل عملي للمختبرين وفرق رشيقة - م: "وليامز"، 2010. - 464 ص. - (سلسلة توقيع أديسون ويسلي). - 1000 نسخة. - ردمك 978-5-8459-1625-9

مؤسسة ويكيميديا. 2010.

> اختبار الحمل

اختبار التحميل أو اختبار الأداء

اختبار الإجهادأو اختبار أداء- هذا اختبار آلي يحاكي عمل عدد معين من مستخدمي الأعمال على بعض الموارد المشتركة (المشتركة).

الأنواع الرئيسية لاختبارات الأداء

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

اختبار أداء (اختبار أداء)

الغرض من اختبار الأداء هو تحديد قابلية تطوير التطبيق تحت التحميل، ويحدث ما يلي:

  • تحديد عدد المستخدمين الذين يعملون مع التطبيق في نفس الوقت
  • تحديد حدود الأداء المقبول مع زيادة الحمل (مع زيادة شدة هذه العمليات)
  • دراسة الأداء في أحمال الضغط العالية والشديدة
اختبار الإجهاد (اختبار الإجهاد)

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

اختبار الحجم (اختبار الحجم)

الغرض من اختبار الحجم هو الحصول على تقييم للأداء مع زيادة حجم البيانات في قاعدة بيانات التطبيق، ويحدث ما يلي:

  • قياس وقت تنفيذ عمليات مختارة بكثافة معينة لهذه العمليات
  • يمكن تحديد عدد المستخدمين الذين يعملون مع التطبيق في نفس الوقت
اختبار الاستقرار أو الموثوقية (اختبار الاستقرار / الموثوقية)

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

تحميل مقابل اختبار الأداء

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

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

كل شيء يسير حسب الخطة

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

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

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

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

  • كم عدد الزوار المخطط لاستقبالهم في المتوسط، عند ذروة الحمل،
    وقت التحميل الذروة.
  • هل يمكن لعدة مستخدمين أن يكون لديهم نفس عنوان IP و/أو
    كلمة سر الدخول؛
  • متوسط ​​عدد الصفحات التي شاهدها مستخدم واحد موجود
    الاختلافات في السلوك بين المستخدمين المسجلين والمجهولين،
    العلاقة الكمية بين هؤلاء المستخدمين والصفحات التي تمت زيارتها و
    الوقت الذي يقضيه المستخدم على العقدة؛
  • وجود صفحات ديناميكية وصفحات تتغير خلال فترة زمنية
    الفترة، وعدد مرات حدوثها؛
  • هل يُستخدم البريد الإلكتروني، على سبيل المثال، للتحقق من بيانات الاعتماد؟
    مستخدم؛
  • ما هي المعلومات الإضافية الأخرى المستخدمة للتحقق من الحالة
    المستخدم (ملفات تعريف الارتباط)؛
  • هل تأكيد سلطة المستخدم مطلوب من قبل طرف ثالث؟
    أو خادم بعيد (على سبيل المثال، رقم بطاقة الائتمان)، وما إذا كان
    يتم توفير المعلومات للاختبار.
  • سعة القناة المتاحة، متوسط ​​عرضها لواحد
    مستخدم؛
  • ما إذا كان عمل العديد من المستخدمين قد يتسبب في حدوث تصادم؛
  • ما إذا كان يتم استخدام اتصال HTTPS آمن؛
  • هل تستخدم تطبيقات Java، ووسائط البث، والمكونات الإضافية الخاصة، وما إلى ذلك
    المطلوبة من جانب العميل لدعمهم؛
  • ما إذا كان يتم استخدام التخزين المؤقت للصفحة؛
  • الأحداث الفنية المخطط لها والتي قد تؤثر على التشغيل
    الخوادم ووقت تنفيذها (المزامنة والأرشفة وما إلى ذلك).

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

هندسة اختبار الأنظمة المفتوحة

أوبنستا(www.opensta.org)
- أكثر من مجرد تطبيق اختباري، فهو عبارة عن بنية مفتوحة، مصممة
حول المعايير المفتوحة. تم إنشاء المشروع عام 2001 من قبل مجموعة من الشركات سيرانو,
التي دعمت النسخة التجارية للمنتج، ولكن تم حل شركة CYRANO، والآن
أوبنستايتم توزيعها كتطبيق مفتوح المصدر بموجب ترخيص
GNU GPL، يعمل على نظام التشغيل Windows NT 4.0SP5/2000/XP. يتطلب بيانات ميكروسوفت للعمل
الوصول إلى المكونات (MDAC)، والتي يمكن تنزيلها من موقع الشركة على الويب.

تسمح الأدوات الحالية باختبار تحميل HTTP/HTTPS
الخدمات، على الرغم من أن هندستها المعمارية قادرة على المزيد. أوبنستايسمح
إنشاء برامج نصية للاختبار بلغة SCL متخصصة (التحكم في البرنامج النصي
لغة). لتبسيط إنشاء وتحرير البرامج النصية، استخدم
أداة خاصة لمصمم البرامج النصية. حدد الأدوات - تحديد عنوان URL الأساسي،
سيتم تشغيل متصفح الويب. نحن فقط نتجول في الموقع ونجمع الروابط التي ستفعل ذلك
المحفوظة في البرنامج النصي. يمكن تحرير جميع معلمات الطلب، فمن الممكن
استبدال متغير. سيتم عرض هيكل الاختبار والعناوين في علامات التبويب
في اللوحة اليسرى. من الملائم دمج الاختبارات في مجموعات. يتم تحديد إعدادات الوكيل في
البرنامج النصي نفسه، حتى تتمكن من تحديد خوادم متعددة. تم تنفيذ الاحتمال
تنظيم الاختبارات الموزعة التي تزيد من الواقعية، أو متى
لا يمكن تحميل خادم قوي من جهاز كمبيوتر واحد. كل سيارة هكذا
يمكن للنظام تنفيذ مجموعة المهام الخاصة به، ويقوم مضيف المستودع بجمعها
وتخزين النتائج. بعد التثبيت على كل نظام اختبار
يتم بدء تشغيل خادم الأسماء، والذي يعد تشغيله إلزاميًا. أيد
مصادقة المستخدمين على مورد ويب وإنشاء اتصالات عبر
بروتوكول SSL. يمكن التحكم في معلمات التشغيل للنظام المحمل من
باستخدام أدوات SNMP وWindows NT. نتائج الاختبار بما في ذلك الوقت
الاستجابات، عدد البايتات المنقولة في الثانية، رموز الاستجابة لكل طلب
ويتم عرض عدد الأخطاء على شكل جداول ورسوم بيانية. باستخدام كبيرة
يسمح لك عدد المرشحات بتحديد النتائج الضرورية. يمكن أن تكون النتيجة
تصدير إلى ملف CSV. قدرات إخراج التقرير محدودة إلى حد ما،
ولكن باتباع الروابط الموجودة على الموقع، يمكنك العثور على نصوص برمجية ومكونات إضافية تبسط، من بين أمور أخرى،
تحليل المعلومات الواردة.

أباتشي جي ميتر

أباتشي جي ميتر(jakarta.apache.org/jmeter)
هو تطبيق جافا مفتوح المصدر مصمم للتحميل
اختبار ليس فقط تطبيقات الويب ومكوناتها الفردية (البرامج النصية،
servlets، وكائنات Java، وما إلى ذلك)، ولكن أيضًا خوادم FTP وقواعد البيانات (مع
باستخدام JDBC) والشبكة. يتم توسيع الوظيفة باستخدام المكونات الإضافية.
دعم SSL (عبر ملحق مآخذ التوصيل الآمنة لـ Java). ممكن
اختبارات باستخدام واجهة رسومية ومن سطر الأوامر.
إن استخدام Java يعني تعدد الأنظمة الأساسية، لذا JMeter
يعمل بثقة في أنظمة *nix المختلفة، في Windows بدءًا من 98 وبعض الأنظمة الأخرى
نظام التشغيل. وزعت بموجب ترخيص أباتشي.

في JMeterآليات الترخيص الظاهري
المستخدمين، ويدعم جلسات المستخدم، والقوالب، والتخزين المؤقت و
التحليل اللاحق لنتائج الاختبار دون اتصال بالإنترنت، تتيح لك الوظائف إنشاءها
الطلب التالي بناءً على استجابة الخادم للطلب السابق. لدي فرصة
إجراء الاختبارات الموزعة. في هذه الحالة، أحد أجهزة الكمبيوتر هو
الخادم (bin/jmeter-server.bat)، الذي يدير العملاء ويجمعهم
معلومات موجزة.

للعمل، ما عليك سوى تشغيل ApacheJMeter.jar أو jmeter.bat في وحدة التحكم
(Windows) أو jmeter.sh (*nix).

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

  • وحدات التحكم المنطقية؛
  • وحدات تحكم توليد العينات؛
  • المستمعون؛
  • الموقتات.
  • التأكيدات.
  • عناصر التكوين.

أولاً، قم بإضافة مجموعة سلاسل المحادثات (تحرير - إضافة - مجموعة سلاسل المحادثات). فيها
في الإعدادات، نشير إلى الاسم، وعدد المواضيع التي سيتم إطلاقها، أي
المستخدمون الظاهريون (عدد المواضيع)، تأخير الوقت بين عمليات الإطلاق
المواضيع (فترة التعزيز)، عدد دورات تنفيذ المهام (عدد الحلقات)،
هنا يمكنك أيضًا تحديد تنفيذ المهمة وفقًا لجدول زمني (Sheduler). إضافي،
بالنقر فوق المجموعة التي تم إنشاؤها، تحتاج إلى إضافة طلب عينة (Sampler) عن طريق التحديد
ذلك من القائمة. لاختبار الحمل أو اختبار الأداء
الخادم، ما عليك سوى تحديد طلب HTTP (إضافة -Sampler - طلب HTTP). هنا
حدد الاسم وعنوان IP ومنفذ خادم الويب والبروتوكول وطريقة نقل البيانات
(GET، POST)، معلمات إعادة التوجيه، نقل الملفات إلى الخادم. نقوم بتكوين و
انقر على تشغيل. ويتم إخراج النتيجة باستخدام المستمعين، كل منهما
يعرض النتيجة بطريقته الخاصة. على سبيل المثال، يعرض الرسم البياني الإجمالي الإجمالي
نتائج الاختبار في شكل جداول ورسوم بيانية.

لقد انتهت المنتجات المجانية، للأسف، والآن يوجد حلان تجاريان.

WAPT – اختبار تطبيقات الويب

وابت(www.loadtestingtool.com)
يسمح لك باختبار استقرار موقع الويب والتطبيقات الأخرى باستخدام
واجهة الويب، لأحمال حقيقية. تم تطويره من قبل شركة نوفوسيبيرسك
سوفت لوجيكا ذ.م.م. يعد هذا أحد أسهل برامج المراجعة للاستخدام. ل
لإجراء اختبار بسيط، لا تحتاج حتى إلى إلقاء نظرة على الوثائق والواجهة
بسيطة، ولكن ليست محلية. يعمل بنظام التشغيل Windows 98 وما بعده، مدعوم
وفيستا. لفحص وابتيمكن إنشاء العديد من الظاهرية
المستخدمين، ولكل منها المعلمات الفردية. متعددة المدعومة
أنواع المصادقة وملفات تعريف الارتباط. يسمح لك البرنامج النصي بتغيير التأخيرات بين
الاستعلامات وإنشاء بعض معلمات الاختبار ديناميكيًا،
وبالتالي تقليد سلوك المستخدمين الحقيقيين قدر الإمكان. أن يطلب
يمكن استبدال خيارات رأس HTTP المختلفة في الإعدادات
تحديد ترميز الصفحة. تم تحديد المعلمات User-Agent وX-Forwarded-For وIP
في إعدادات البرنامج النصي. يمكن حساب قيم معلمات الاستعلام
بعدة طرق منها ما يحدده استجابة الخادم للسابق
الاستعلام باستخدام المتغيرات والوظائف. العمل المدعوم عبر آمن
بروتوكول HTTPS (وجميع أنواع الخوادم الوكيلة). تم حفظ البرامج النصية التي تم إنشاؤها في
ملف XML، يمكن إعادة استخدامه. بالإضافة إلى الأداء القياسي و
الإجهاد، تحتوي القائمة على العديد من الاختبارات الأخرى التي تسمح لك بتحديدها
الحد الأقصى لعدد المستخدمين واختبار الخادم تحت التحميل
على مدى فترة طويلة.

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

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

NeoLoad

NeoLoad(www.neotys.com)
- نظام آخر يسمح لك بإجراء اختبار الحمل
تطبيقات الويب. مكتوب بلغة جافا، ويعمل على أجهزة الكمبيوتر العاملة
يعمل بنظام التشغيل Windows NT/2000/XP وLinux وSolaris. في التقرير يمكنك الحصول عليه
معلومات مفصلة عن كل ملف تم تنزيله. NeoLoad مناسب جدًا لـ
تقييم أداء المكونات الفردية (AJAX وPHP وASP وCGI وFlash والتطبيقات الصغيرة و
إلخ.). من الممكن ضبط وقت التأخير بين الطلبات (وقت التفكير) عالميًا
وبشكل فردي لكل صفحة. يتم إجراء الاختبار كما هو الحال مع
باستخدام غلاف رسومي مناسب جدًا واستخدام الأمر
سلاسل (باستخدام ملف XML مُعد مسبقًا). يدعم العمل مع
بروتوكول HTTPS، مع وكلاء HTTP وHTTPS، ومصادقة الويب الأساسية وملفات تعريف الارتباط،
اكتشاف البيانات تلقائيًا أثناء تسجيل البرنامج النصي، ثم تشغيله مرة أخرى
وقت الاختبار. للعمل مع ملفات تعريف مختلفة لتسجيل المستخدم
يمكن استخدام المتغيرات. عند إجراء الاختبار، يمكنك استخدام
شاشات إضافية (SNMP، WebLogic، WebSphere، RSTAT وWindows، Linux،
Solaris)، مما يسمح لك بالتحكم في معلمات النظام الذي يعمل عليه
قاعدة بيانات للانترنت.

مع مساعدة NeoLoadيمكنك أيضًا تشغيل الاختبارات الموزعة. واحد من
أجهزة الكمبيوتر هي وحدة التحكم، ويتم تثبيت المولدات على الباقي
تحميل (loadGenerator). تقوم وحدة التحكم بتوزيع الحمل بين LoadGenerator و
يجمع الإحصاءات.

يعد العمل مع المستخدمين الافتراضيين أمرًا مريحًا للغاية. المستخدمين
تحتوي على إعدادات فردية، ثم يتم دمجها في مجموعات سكانية (ينبغي
يجب إنشاء مجموعة سكانية واحدة على الأقل)، في المجموعات السكانية يمكنك تعيين العام
السلوك (على سبيل المثال، 40% من مستخدمي السكان يقومون بزيارة الموارد الديناميكية،
20% يقرؤون الأخبار). يمكن للمستخدمين الظاهريين الحصول على فرد
عنوان IP وعرض النطاق الترددي والبرنامج النصي للاختبار.

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

  • التصميم - إعدادات المشروع، هناك ثلاث علامات تبويب. ويشير المستودع
    صفحات الويب ومعلمات الاستعلام، في Virtual User الظاهري
    للمستخدمين، حدد عناوين URL التي يجب عليهم "زيارتها" والإضافية
    الشروط من علامة التبويب اليسرى في حقل الإجراءات. في السكان - المهام لكل مجموعة
    المستخدمين. يمكن تحديد الإجراءات التالية في الإجراءات: تأخير
    (ضبط التأخير)، التكرار (تكرار الطلب)، أثناء (الدورة)، إذا...ثم...آخر
    (الحالة)، الحاوية والحاوية العشوائية (إجراءات المجموعة)، حاول...التقاط
    (معالجة الأخطاء)، إيقاف المستخدم الظاهري (إيقاف Virtual
    مستخدم).
  • وقت التشغيل - يتم تحديد معلمات الاختبار، ويتم إجراء الاختبار. هنا في
    يتم عرض الإحصائيات في علامات تبويب منفصلة مع تقدم الاختبار.
  • النتائج – مسؤولة عن عرض الإحصائيات المختلفة على شكل جداول ورسوم بيانية.

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

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

منتجات من مايكروسوفت

تقدم شركة Microsoft منتجين يسمحان بذلك
اختبار خادم الويب تحت التحميل. هذا الإجهاد تطبيق مايكروسوفت
أداة
و أداة تحليل سعة الويب. يتم توزيع الأول كما
منتج منفصل وله واجهة رسومية. والثاني متضمن
أدوات خدمات معلومات الإنترنت 6.0 أدوات مجموعة الموارد,
يعمل من سطر الأوامر. ساريةأكثر وضوحا في إنشاء الاختبار
سيساعدك معالج بسيط لإنشاء الاختبارات، ومن الممكن العمل مع ملفات تعريف الارتباط وضبطها
يتم تحميله على عناوين URL مختلفة. يمكن إنشاء البرنامج النصي للاختبار يدويًا أو
تم تسجيله باستخدام متصفح الويب وتحريره إذا لزم الأمر. في WAST
يتم ضبط مستوى الضغط عن طريق تحديد عدد المواضيع،
تقديم الطلبات إلى الخادم، وعدد المستخدمين الظاهريين
يتم حسابه على أنه حاصل ضرب عدد الخيوط وعدد المقابس المفتوحة بواسطة كل منها
الخيوط في نهاية الاختبار، نتلقى تقريرًا بسيطًا في شكل نص، فيه
يتم تقديم معلومات عن عدد الطلبات التي تتم معالجتها لكل وحدة زمنية، في المتوسط
زمن التأخير، سرعة نقل البيانات من وإلى الخادم، الرقم
أخطاء، الخ. يمكن تصدير التقرير إلى ملف CSV. لا توجد خيارات ل
لا يتم توفير المعالجة الإحصائية، وهذا هو، بمساعدتها يمكنك فقط
تقييم الأداء في ظل ظروف معينة.