مقالات عملية مرتبة حسب المجال والمستوى، اختر المجال المناسب واقرأ من مستوى مبتدئ إلى محترف.
السيرفر بياخد 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 أصلاً.
لو جدول events عندك بقى 218 مليون صف وquery على آخر 7 أيام بياخد 8 ثواني، Declarative Partitioning في PostgreSQL 16 بيخلي planner يقفز للـ partition المطلوب فقط فالاستعلام ينزل لـ 118ms. شرح للمستوى المحترف بمثال مكتبة المخازن، تعريف علمي دقيق، استراتيجيات RANGE وLIST وHASH، كود SQL شغّال، أرقام مقاسة، trade-offs، وحالات لا تستخدم فيها.
لو cache فيه 100 مليون مفتاح وكل request بيدوّر هل المفتاح موجود قبل ما يروح للـ DB، Bloom filter بيخلّيك تجاوب على السؤال ده في 90 نانو ثانية بـ 114MB رام بدل 4GB. مقال للمستوى المتوسط/المحترف بمثال قائمة الفرح، تعريف علمي دقيق، كود Python و Redis شغّال، أرقام مقاسة، trade-offs، وحالات لا تستخدم فيها.
لو السيرفر بيتجمد عند 300 اتصال متزامن على PostgreSQL، المشكلة مش في الـ DB. كل اتصال جديد بياكل 10MB رام و3-5ms في الـ handshake. PgBouncer بيخلّي 10,000 عميل يستخدموا 100 اتصال DB بسطر إعداد. شرح للمستوى المتوسط/المحترف بمثال السوبر ماركت، الأوضاع الثلاثة (session/transaction/statement)، إعداد شغّال، أرقام مقاسة، trade-offs، وحالات لا يصلح فيها.