
E
Elmir KərimovMüəllif
elmir.karimov@example.comServerless Memarlıqda Soyuq Başlanğıc (Cold Start) Problemi və Həll Yolları
AWS Lambda və Vercel Serverless mühitlərində icra gecikmələrinin azaldılması üçün memarlıq həlləri.
Serverless arxitekturanın ən cəlbedici tərəfi qənaətcil olmasıdır: əgər gecə saatlarında saytınıza heç kim daxil olmursa, heç bir server boş-boşuna işləmir və siz sıfır dollar ödəyirsiniz.
Lakin bu qənaətin arxasında "Soyuq Başlanğıc" (Cold Start) adlanan texniki gecikmə dayanır.
📌 1. Soyuq Başlanğıc Nə Vaxt Baş Verir?
Müəyyən müddət sorğu gəlmədikdə bulud provayderi (AWS, Vercel) sizin funksiyanın işlədiyi konteyneri dondurur və resursları azad edir.
Yeni bir istifadəçi gəldikdə:
1. Provayder yeni virtual konteyner ayırır.
2. Node.js iş mühiti yüklənir.
3. Sizin layihənin bütün JavaScript faylları və asılılıqları yaddaşa oxunur.
4. Verilənlər bazası bağlantısı qurulur.
Bütün bu proses 1 ilə 3 saniyə arasında çəkə bilər! İstifadəçi üçün bu, ilk səhifənin ləng açılması deməkdir.
📌 2. Soyuq Başlanğıcı Necə Minimuma Endirmək Olar?
- Bundle Həcmini Kiçildin: Nə qədər çox ağır npm paketi ('lodash', 'moment') import etsəniz, Node.js-in onları yaddaşa oxuması bir o qədər uzun çəkəcək. Yüngül alternativlərdən ('date-fns', yerli JS metodları) istifadə edin.
- Next.js 'output: "standalone"': Bu parametr layihədən yalnız lazım olan minimal faylları çıxarır və konteynerin açılmasını dəfələrlə sürətləndirir.
- Qlobal Dəyişənlərdən İstifadə: Bazaya qoşulma kodunu funksiyanın içində yox, xaricində ('globalThis') saxlayın. Konteyner bir dəfə oyandıqdan sonra (Warm state) növbəti sorğular cəmi 10-20 millisaniyə çəkəcək.
←Bütün yazılara qayıtKateqoriya: Performance