كيفية استخدام قياس أداء طلبات HTTP
- أدخل عنوان URL لنقطة نهاية عامة واختر طريقة HTTP.
- حدّد عدد الطلبات (≤ 50) والتزامن (≤ 5)؛ وأضف ترويسات أو جسماً عند الحاجة.
- انقر «تشغيل القياس» (Run benchmark) وانتظر بضع ثوانٍ حتى ينتهي المرحّل.
- اقرأ الإنتاجية والمئينيات؛ وتحقّق من معدل الأخطاء وتفصيل رموز الحالة قبل الوثوق بالأرقام.
- لاختبار تحميل حقيقي، ولّد سكربتات k6/JMeter باستخدام مولّد اختبارات الطلبات المتزامنة.
مزايا قياس أداء طلبات HTTP
- قياس أداء مصغّر ومحدود: حتى 50 طلباً بتزامن من 1 إلى 5
- عدد الطلبات في الثانية ومعدل الأخطاء ومئينيات زمن الاستجابة كاملة (p50–p99)
- طريقة وترويسات وجسم JSON مخصّصة لنقاط النهاية التي تتطلب مصادقة أو نقاط الكتابة
- مدرّج تكراري (histogram) لزمن الاستجابة ومخطط للمئينيات لمقارنة بصرية سريعة
- تفصيل لرموز الحالة (200 ×48، 429 ×2) حتى يكون تحديد المعدّل واضحاً
- العيّنات الخام قابلة للتنزيل بصيغة CSV
مثال على قياس أداء طلبات HTTP
20 طلباً بتزامن 2
الإدخال:
GET https://api.example.com/products
Requests: 20 · Concurrency: 2النتيجة:
Requests: 20 · Requests/s: 9.4 · Error rate: 0%
Average: 205 ms · p50: 198 ms · p90: 262 ms · p95: 281 ms · p99: 310 ms
Min / Max: 160 ms / 310 ms · Consistency: 71/100الأسئلة الشائعة حول قياس أداء طلبات HTTP
ما الحدود ولماذا؟
50 طلباً بحد أقصى وتزامن 5 لكل تشغيل، مع مهلات زمنية للطلبات وحدود معدّل لكل عنوان IP. يُبقي ذلك الأداة آمنة على نقاط النهاية التابعة لجهات خارجية — فهي قياس أداء مصغّر، لا خدمة لاختبار التحميل.
كيف يُحسب عدد الطلبات في الثانية؟
يقيس المرحّل الإنتاجية (throughput) بالزمن الفعلي (wall-clock) للتشغيل كاملاً؛ وعندما لا يتوفر هذا الرقم تشتقّه الأداة من العيّنات ومستوى التزامن.
هل يمكنني إرسال جسم وترويسات؟
نعم. أضف الترويسات بواقع ترويسة في كل سطر، وجسماً لطلبات POST/PUT/PATCH. لا تلصق بيانات اعتماد الإنتاج أبداً — استخدم رموز اختبار.
ماذا يشمل معدل الأخطاء؟
الاتصالات الفاشلة، وانتهاء المهلات، ورموز الحالة من خارج نطاق 2xx. ويوضح تفصيل رموز الحالة (مثل 200 ×48، 429 ×2) ما إذا كان تحديد المعدّل أو الأخطاء قد شوّه الأرقام.
كيف أشغّل اختبار تحميل حقيقياً؟
استخدم مولّد اختبارات الطلبات المتزامنة لإنتاج سكربتات k6 أو JMeter أو Locust أو Artillery أو Node.js، وشغّلها من بنيتك التحتية الخاصة على الأنظمة المصرّح لك باختبارها.
ملاحظات تقنية
ينفّذ المرحّل التشغيل بتزامن ثابت ويعيد العيّنات الخام مع رقم الإنتاجية الخاص به، وهو مقيس على الزمن الفعلي (wall-clock) ومن ثَم يراعي التزامن بشكل صحيح. ويُعاد حساب الإحصاءات محلياً من العيّنات حتى يُستخدم تعريف المئينيات نفسه في جميع أدوات الأداء.
تُفرض الحدود (50 طلباً، وتزامن 5، وحدود معدّل لكل عنوان IP، ومهلات زمنية) على جانب الخادم. وهي تجعل الأداة آمنة للتوجيه نحو واجهات API تابعة لجهات خارجية، لكنها تعني أيضاً أنها لا تستطيع كشف حدود السعة — فتلك مهمة اختبار تحميل حقيقي يُشغَّل من بنيتك التحتية الخاصة.