تخطَّ إلى المحتوى

الـ Scaling: من 100 لـ 10,000 مستخدم

الدرس 32 من 38 5 دقايق قراءة

الهدف

بعد هالدرس تقدر تضيف Redis caching لأبطأ الـ queries، تضبط Neon connection pooling، وتعرف كيف تـ profile وتحدد الـ bottleneck قبل ما تبني أي شي.

ليش هذا الحين؟

Compliance جاهز. الحين نفكّر في النمو. ترى مشاكل الـ scale ما تحتاج تحلها الحين — بس تحتاج تعرف شنو هي لما يجي وقتها. والمبادئ في هالدرس بسيطة: profile first، optimize later، ولا تحسّن شي ما فيه مشكلة.

الفكرة

أكبر خطأ: premature optimization

تبني caching قبل الحاجة → complexity بدون فائدة
تبني caching بعد 1000 مستخدم يشتكون من البطء → too late

الحل: اعرف الـ signals اللي تخبرك متى تحتاج تـ optimize:

  • Database queries أكثر من 100ms بشكل متكرر
  • Server errors بسبب "too many connections"
  • PageLoad أكثر من 3 ثواني على الـ landing page

ترتيب الـ bottlenecks:

1. Database queries (الأغلب)
2. N+1 queries
3. Missing indexes
4. Connection pool exhaustion
5. Unoptimized images/assets