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

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

الدرس 32 من 38

الهدف

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

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

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

الفكرة

أكبر خطأ: premature optimization

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

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

  • Database queries > 100ms بشكل متكرر
  • Server errors بسبب "too many connections"
  • PageLoad > 3s على الـ landing page

ترتيب الـ bottlenecks:

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

محتاج مساعدة؟ راسلنا على mj@shakesbeard.net