كيفية استخدام مولّد بيانات اختبار الأداء
- اذكر نقاط النهاية وحصتها من الحركة، بواقع نقطة في كل سطر (مثل "GET /api/products 45").
- حدّد المستخدمين الافتراضيين والمدة والصعود التدريجي، ثم نطاق زمن التفكير وتوزيعه.
- عرّف اختيارياً نطاق حجم الحمولة وبذرة (seed) للحصول على عيّنات قابلة لإعادة الإنتاج.
- انقر «توليد» (Generate) للحصول على النموذج والمخططات والمقتطفات الجاهزة للأدوات.
- الصق خيارات k6 في سكربتك أو طبّق قيم JMeter في الواجهة الرسومية.
مزايا مولّد بيانات اختبار الأداء
- مزيج طلبات من أسطر بسيطة بصيغة "METHOD /path weight"، مع تطبيع الأوزان إلى 100%
- عيّنات لزمن التفكير (think time) من توزيعات منتظمة أو طبيعية أو أسّية أو ثابتة
- منحنى تدرّج (صعود تدريجي، وحالة مستقرة، وهبوط تدريجي) محسوب من عدد المستخدمين والمدة
- تقديرات للإنتاجية وإجمالي الطلبات لأغراض تخطيط السعة
- مقتطف خيارات k6 يتضمن المراحل (stages) ومنتقي نقاط نهاية موزوناً ودالة لزمن التفكير
- تعيين لـ JMeter (مجموعة الخيوط Thread Group، ومتحكمات الإنتاجية Throughput Controllers، والمؤقتات) وتصدير للسيناريو بصيغة JSON
مثال على مولّد بيانات اختبار الأداء
عبء عمل لمتجر إلكتروني يغلب عليه التصفّح
الإدخال:
GET /api/products 45
GET /api/products/{id} 25
POST /api/cart 15
POST /api/checkout 5
GET /api/account 10
Users: 50 · Duration: 300 s · Ramp-up: 60 s · Think: 500–3000 ms normalالنتيجة:
Est. throughput: 25.6 req/s · Est. total requests: 6,900
Request mix: products 45% (3,105) · product detail 25% (1,725) · cart 15% (1,035) · checkout 5% (345) · account 10% (690)
Ramp profile: 0–60 s ramp-up to 50 · 60–300 s steady · 30 s ramp-downالأسئلة الشائعة حول مولّد بيانات اختبار الأداء
ما مزيج الطلبات؟
حصة كل نقطة نهاية من الحركة، مثل 60% لقائمة المنتجات و25% لتفاصيل المنتج و15% لإتمام الشراء. تُطبَّع الأوزان إلى 100% وتُترجم إلى كود اختيار في k6 ومتحكمات إنتاجية (Throughput Controllers) في JMeter.
ما توزيعات زمن التفكير المدعومة؟
المنتظم، والطبيعي (منحنى جرسي حول نقطة المنتصف)، والأسّي (وقفات قصيرة كثيرة ووقفات طويلة قليلة)، والثابت. وسلوك المستخدمين الحقيقيين أقرب إلى التوزيع الطبيعي أو الأسّي.
كيف تُقدَّر الإنتاجية؟
يصدر كل مستخدم افتراضي طلباً واحداً لكل (زمن التفكير + نحو 200 مللي ثانية زمن خدمة). اضرب ذلك في عدد المستخدمين للحصول على الطلبات في الثانية في الحالة المستقرة؛ وتعامل معه كرقم تخطيطي.
ماذا يحتوي منحنى التدرّج؟
مراحل الصعود التدريجي والحالة المستقرة والهبوط التدريجي مع المدد وعدد المستخدمين المستهدف، مصدَّرة كمراحل (stages) في k6 وإعدادات مجموعة الخيوط في JMeter.
هل يمكنني تصدير النموذج؟
نعم — يحتوي سيناريو JSON على المزيج والمراحل وعيّنات زمن التفكير وأحجام الحمولات حتى تتمكن من تغذيته إلى منظومة الاختبار الخاصة بك.
ملاحظات تقنية
يفترض تقدير الإنتاجية نموذج عبء عمل مغلقاً (closed workload model): ينتظر كل مستخدم افتراضي الاستجابة (بافتراض نحو 200 مللي ثانية)، ثم يتوقف لزمن التفكير، ثم يكرّر. والتقدير بسيط عمداً — استبدل زمن الخدمة بقيمة p50 المقيسة لديك للحصول على رقم أدق.
تُؤخذ عيّنات زمن التفكير الطبيعية بتحويل Box–Muller حول نقطة المنتصف بانحراف معياري يساوي ربع النطاق؛ وتستخدم العيّنات الأسّية نقطة المنتصف متوسطاً وتُقيَّد بحيث لا تتجاوز ثلاثة أضعاف الحد الأقصى.