مقالات عملية مرتبة حسب المجال والمستوى، اختر المجال المناسب واقرأ من مستوى مبتدئ إلى محترف.
لو endpoint Django بياخد 5.2 ثانية وبيفتح 320 query على request واحد، الـ ORM مش بطيء — هو بيتعامل مع كل ForeignKey كزيارة منفصلة لـ DB. select_related و prefetch_related و Subquery بـ 4 سطور بيرجّعوا الزمن لـ 380ms. مقال للمحترف بمثال ساعي البريد للمبتدئ، تعريف من توثيق Django 5.0 الرسمي، كود Python شغّال على Django 5.0 + PostgreSQL 16، أرقام مقاسة من إنتاج e-commerce بـ 5,200 طلب/يوم، 4 trade-offs خفية، ومتى prefetch_related بيكسر بدل ما يحسّن.
لو Lambda function بياخد 3.2 ثانية على أول طلب وP99 latency بيقفز فوق 4 ثواني، المشكلة مش في الكود — هي في الـ Init Phase. SnapStart في 4 سطور إعداد بينزّل الزمن لـ 180 مللي ثانية على Python 3.12+ و Java 21، بدون تعديل سطر كود وبدون تكلفة شهرية ثابتة زي Provisioned Concurrency. مقال للمحترف بمثال محل القهوة للمبتدئ، تعريف علمي من AWS Compute Blog، ملف SAM template شغّال، أرقام مقاسة من Spring Boot وPython، 4 trade-offs، ومتى لا تستخدمه.
TCP بياخد 3 رحلات للسيرفر قبل ما أول بايت يطلع. على 4G في القاهرة بـ RTT 180ms، ده 540ms ضايعة. HTTP/3 على QUIC بينزّل ده لرحلة واحدة (وصفر في الزيارة الثانية بـ 0-RTT)، فالـ TTFB بيقل بحوالي 240ms على نفس الكود. مقال للمحترف بمثال طابور الجمارك للمبتدئ، تعريف من RFC 9114، إعداد NGINX 1.25 و Caddy، أرقام من Cloudflare وفيس بوك، 4 trade-offs، ومتى ما تتحوّلش.
INP بقى Core Web Vital أساسي من مارس 2024 وبيقيس أسوأ تأخير في تفاعلات الزائر مع صفحتك. لو P95 INP فوق 200ms، Google بيصنّف الصفحة Poor وبيأثر مباشرة على ترتيب البحث. هنا حل بـ scheduler.yield و isInputPending نزّل P95 من 480ms لـ 95ms على نفس الكود تقريبًا، بأرقام مقاسة من إنتاج على Pixel 6a/Chrome 130.
على جدول events فيه 200 مليون صف، B-tree index على created_at بياكل 14GB. BRIN Index بياخد 1.2MB ويرد على query آخر 24 ساعة في 38 مللي ثانية بدل 4.2 ثانية. شرح للمحترف بمثال السجل المالي للمبتدئ، تعريف علمي من توثيق PostgreSQL 16، كود قابل للنسخ، أرقام مقاسة على NVMe SSD، 4 trade-offs، ومتى لا تستخدمه.
الـ Cache بتاعك بيشتغل تمام لمدة ساعة، وفجأة في ثانية واحدة الـ DB بياخد آلاف الطلبات المتزامنة وبيقع. السبب مش traffic spike، السبب اسمه Cache Stampede. مقال للمحترف بمثال السوبر ماركت للمبتدئ، تعريف علمي دقيق من ورقة Vattani VLDB 2015، تلاتة حلول قابلة للنسخ (Mutex Lock، XFetch، Stale-While-Revalidate)، أرقام مقاسة على 5000 RPS، 4 trade-offs، ومتى لا تستخدم أي منها.
السيرفر بياخد 250ms يبني HTML والمتصفح بيستنى صامت طوال المدة دي. 103 Early Hints بيخلّي المتصفح يبدأ يحمّل CSS و JS قبل ما الرد الأساسي يجي، فالـ LCP بينزل من 1.4 ثانية لـ 1.18 ثانية على نفس الإعداد. مقال للمحترف بمثال الأسانسير والقهوة للمبتدئ، تعريف علمي دقيق من RFC 8297، إعداد NGINX 1.25 و Express شغّال، أرقام مقاسة من Cloudflare و Shopify، 4 trade-offs، وحالات لا تستخدمه فيها مع المصادر الرسمية.
لو endpoint بياخد 12 ثانية وأنت متأكد إن الـ DB هي السبب، تخمين الإصلاح بياكل ساعتين. EXPLAIN ANALYZE بيريك بالظبط في أي عقدة الزمن بيضيع. مقال للمحترف بشرح علمي دقيق من توثيق PostgreSQL، 6 أنماط شائعة في خطة الاستعلام (Seq Scan, Nested Loop, Hash Join مع disk spill, Sort بـ external merge, Filter بدلاً من Index Cond, Rows Removed by Filter)، مثال حقيقي على جدول 18 مليون صف نزّل الزمن من 11.8 ثانية لـ 78ms، شرح BUFFERS و work_mem، trade-offs الـ partial index، ومتى الإجابة في pg_locks مش في الخطة.
المتوسط بيخبّي الكارثة. لو الـ API بيرد في 80ms متوسط لكن P99 = 2400ms، فيه شريحة كاملة من مستخدميك بتعيش تجربة مكسورة. مقال للمحترف بمثال خط الإنتاج للمبتدئ، تعريف علمي للنسب المئوية من ورقة Dean و Barroso "The Tail at Scale"، كود k6 شغّال يقيس P50/P95/P99، أرقام مقاسة من service بـ 5000 RPS، 3 أسباب شائعة لارتفاع الذيل، trade-offs الـ hedged requests، ومتى لا تركّز على P99 أصلاً.