Redis / المتقدم: الاستمرار والتوزيع والتشغيل / الدرس 17
الرصد والتأخر والتشخيص الآمن
شخص الزمن من العمل والانتظار والشبكة والموارد، وافحص بيانات محدودة دون مسح أو أدوات متطفلة أو ضبط عام.
في هذه الصفحة
أهداف الدرس
- فصل زمن العميل وتنفيذ الخادم وتعقيد الأمر.
- استخدام العدادات والتكرار بحدودهما.
ينتظر المستخدم أكثر من تنفيذ الأمر
يشمل الزمن طابور التطبيق والمجمع والاتصال والنقل والجدولة والعمل وفك الرد. قد يرخص الداخل ويبطئ العميل أو الرد الكبير. سجل النوع والأحجام والبنية والاستمرار والتزامن وقارن نسباً متكررة لا تجربة. لا يضمن قياس آلة أخرى الخدمة ولا حمل شبكة أو أمر معد هنا.
اقرأ تشخيصاً محدوداً بالسلطة اللازمة
تكمل INFO وسجل بطيء محدود الدليل بتفويض. يستبعد زمن السجل النقل والعميل فلا يساوي الطلب كله. قد تكشف الوسائط فحد المشاركة واتبع الحجب. لا ينفذ المثال أو يفعل التسجيل أو يجلب فعلياً، وقد تعرض الإدارة لوحة بديلة. اربط الأوقات والتصفير بالنافذة.
INFO stats
INFO commandstats
SLOWLOG GET 5
العدادات والمدخلات غير محددة دون وسائط حساسة أو أوامر مرصودة أو حدود صحية مختلقة.
حد العمل وافهم ضمانات SCAN
قد تحجب KEYS فضاء كبيراً فلا وصفة اكتشاف إنتاج دورية. تدعم SCAN تكراراً جزئياً وCOUNT تلميح وقد تتكرر المفاتيح وليست لقطة مع التغيير. لها ضمانات للموجود طوال الدورة وأضعف للمتغير. حد الرصد ولا تفرغ الحساس، وقد تعطل مجموعات وقوائم وشيفرات كبيرة العمل رغم سرعة الخادم.
أظهر تفسير التأخر كنموذج
تهيمن في الميزانية انتظار المجمع والشبكة على تنفيذ وحدة، وهي افتراضية لا تتبعاً أو صيغة عامة. تحتاج الحدود اتساقاً ومنع عد التداخل. يفسر النموذج لماذا لا يثبت فراغ السجل سرعة التطبيق. عالج المثبت؛ لا تزد الذاكرة لطابور عميل دون دليل ذاكرة.
latency_units = {'pool_wait': 40, 'network': 30, 'server_command': 1, 'decode': 4}
assert sum(latency_units.values()) == 75
assert latency_units['pool_wait'] + latency_units['network'] > latency_units['server_command']
المجموع75 وحدة منها70 بالمكونين خارج التنفيذ، وهي مخترعة لا مللي ثانية مقاسة.
اختر أصغر تغيير تشغيلي مبرر
اربط الزمن بالأوامر والحمولة والمجمع والسخونة والاستمرار والمزامنة والمضيف. لا تفعل تتبعاً أو تغير حدوداً أو تمسح بلا مراجعة. قارن الصحة والنسب والإنتاج والرفض والتعافي. احفظ الإصدار والعميل لتغير السلوك. حدد المقاس والمجهول وصاحب فرضية تالية لا تفريغاً طويلاً غير مرتب.
الأخطاء الشائعة وإصلاحها
التطبيق بطيء والسجل فارغ
- لماذا يحدث؟
- اعتبر الزمن الكلي تنفيذ الأمر.
- كيف تصلحه؟
- افحص المجمع والشبكة والحمولة والانتظار بالأوقات نفسها.
- كيف تتجنب تكراره؟
- وثق حد كل مقياس.
يعتبر خرج SCAN لقطة فريدة ثابتة
- لماذا يحدث؟
- بُولغ بضمان التكرار.
- كيف تصلحه؟
- عالج التكرار ومجهول التغيير.
- كيف تتجنب تكراره؟
- لا تجعل المسح العادي جرد لحظة دقيقاً.
يكشف التفريغ التشخيصي بيانات خاصة
- لماذا يحدث؟
- لم يضبط النطاق والوسائط.
- كيف تصلحه؟
- أوقف الزائد واتبع حفظ الدليل.
- كيف تتجنب تكراره؟
- فضل بيانات محدودة وحجباً مراجعاً.
اختبر فهمك
1. يستغرق الطلب ثانية وتنفيذه المسجل صغير. ما الاستنتاج؟
اعرض الحل المشروح
لا يفسر عمل الأمر وحده مدة الطلب. افحص انتظار المجمع والشبكة وإنشاء الاتصال وTLS والصف وحجم الرد وفك ترميزه بأوقات متوافقة. لا تدع سلامة Redis أو عطلها من الاختلاف وحده؛ أثبت حدود القياس والأدلة المؤيدة قبل اختيار العلاج.
2. تعيد SCAN COUNT100 عدداً مختلفاً وتكرر مفتاحاً. هل هو عطل؟
اعرض الحل المشروح
لا. COUNT تلميح للعمل والتكرار جزء من السلوك الموثق. يجب اتباع المؤشر حتى الاكتمال ومعالجة التكرار بما يناسب الغرض، مع الاعتراف بأن التغييرات المتزامنة تمنع لقطة لحظة واحدة. يحتاج الجرد الدقيق طريقة اتساق مصممة منفصلة.
أهم ما تعلمته
- طابق حدود القياس قبل تفسير الزمن.
- حد التشخيص وصرح بحدود التكرار.