| کانال توسعه‌دهندگان وب |: post #108 — TG.ME

در نمونه‌کد بالا در روش اشتباه، در هر بار اجرا شدن getServerSideProps یک کانکشن جدید به دیتابیس ساخته می‌شود و هرگز بسته یا دوباره استفاده نمی‌شود؛ این کار روی سرور واقعی (مثلاً در Next.js زیر بار ترافیک بالا) باعث Connection Exhaustion، افت شدید کارایی و حتی کرش شدن سرویس می‌شود. در روش صحیح با استفاده از یک متغیر سراسری و کش‌کردن MongoClient (یا هر Driver دیگری)، در محیط development جلوی ساخت کانکشن‌های تکراری بعد از هر Hot-Reload گرفته شده و در محیط production هم تنها یک بار به دیتابیس متصل می‌شویم و همه درخواست‌ها از همان کانکشن/Pool استفاده می‌کنند. به این ترتیب، هم مصرف منابع به‌شدت کاهش پیدا می‌کند، هم زمان پاسخ‌گویی API و صفحات server-side بهتر می‌شود و در عین حال ریسک Memory Leak و اشباع شدن کانکشن‌های دیتابیس پایین می‌آید. 🔖 #Web #وب #Frontend #Backend 👤 Developix 💎 Channel: @DevelopixWeb

July 20, 2026 605 2