profile (مراقب الأداء في قاعدة البيانات)
آخر تحديث: 2026-10-09
profile (مراقب الأداء في قاعدة البيانات)
يبدّل profile مراقب الأداء (Database Profiler): المستوى 0 إيقاف، و1 يسجّل العمليات البطيئة فقط (الأبطأ من slowms)، و2 يسجّل كل شيء. تصل العمليات المسجلة إلى system.profile، وهي مفيدة لتحديد مواضع الاختناق. تقدم mongosh مساعدات مثل db.setProfilingLevel(1, { slowms: 200 }).
| الفئة | المراقبة والتشخيص |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
db.runCommand({ profile: <level>, slowms: <ms> })
db.setProfilingLevel(1, { slowms: 200 })
db.getProfilingStatus()
⚙️ المعلمات
| profile | المستوى: 0 إيقاف، 1 العمليات البطيئة فقط، 2 الكل |
|---|---|
| slowms | عتبة الاستعلام البطيء بالمللي ثانية، تُستخدم عند المستوى 1. |
القيمة المرجعة:يُرجع المستوى السابق (was)، وقيمة slowms الحالية، وok
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// profile: تفعيل تسجيل العمليات البطيئة
use shop
db.runCommand({ profile: 1, slowms: 200 })
db.system.profile.find({ millis: { $gte: 200 } }).sort({ ts: -1 }).limit(5)
المخرجات:
{ was: 0, slowms: 100, sampleRate: 1, ok: 1 }
// يُرجع الاستعلام أحدث 5 عمليات استغرقت 200ms أو أكثر
📌 ملاحظات
- المستوى 1 يسجّل العمليات الأبطأ من slowms فقط؛ والمستوى 2 يسجّل كل شيء
- تستقر مخرجات المراقب في system.profile — نظّفها دوريًا
- في الإنتاج فضّل المستوى 1 مع slowms معقولة للحد من الكلفة الزائدة
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
مزيد من الحالات العملية قريبًا.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qما الفرق بين مستويي المراقب 1 و2؟
Aالمستوى 1 يسجّل العمليات الأبطأ من slowms فقط؛ والمستوى 2 يسجّل كل شيء.
Qأين يخزّن المراقب سجلاته؟
Aفي مجموعة system.profile، القابلة للاستعلام مباشرةً.
Qكيف أطفئ المراقب؟
Aشغّل db.setProfilingLevel(0) أو db.runCommand({ profile: 0 }).