انتقل إلى محتوى الدرس

Debugging Concurrency and Bottlenecks تشخيص اختناقات الخادم وضغط الطلبات

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

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

التحدي التقني الثالث في هندسة الواجهة الخلفية هو تشخيص المشكلات التي لا تظهر إلا عندما يتدفق آلاف المستخدمين على الخادم في اللحظة نفسها ():

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

شاهد في المثال التوضيحي الآتي كيف يساعد سجل الخادم () مطور الخلفية على اكتشاف الاستعلام البطيء فوراً:

الصف 2 كود برمجي
Shell
[2026-11-05 14:20:01] INFO  GET /api/orders -> 200 OK (18ms)
[2026-11-05 14:20:04] WARN  Slow Query (1420ms) on table: invoices
[2026-11-05 14:20:05] INFO  Added index idx_user_id -> Query now 9ms
الصف 3 ملاحظة هامة