<- Grįžti į blogą
Robertas Želvys·2026 m. balandžio 7 d.·6 min skaitymo

Kodėl jūsų Laravel svetainė lėta — ir kaip tai išspręsti per savaitę

Dauguma Laravel svetainių lėtėja ne dėl serverio, o dėl 4 dažniausių klaidų kode. Parodysime kaip jas diagnozuoti ir pašalinti.

LaravelNašumasSEO
Esmė

Tipiškas Laravel sulėtėjimas — 4 taisytini kodo antipatternai. Vienas e-komercijos klientas (2000 produktų) sumažino TTFB nuo 4,8s iki 0,6s be serverio keitimo.

Problema yra ne serveris

Kai klientai sako „svetainė lėta" — pirmiausia žiūrime ne į serverio specifikacijas, o į kodą. 90% atvejų problema yra viena iš keturių:

1. N+1 užklausų problema

Tai klasikinis Laravel antipattern. Pavyzdys:

// BLOGAI — generuoja 1 + N SQL užklausas

$posts = Post::all();

foreach ($posts as $post) {

echo $post->author->name; // kiekviena iteracija = nauja užklausa

}

// GERAI — 2 užklausos visam sąrašui

$posts = Post::with('author')->get();

Kaip diagnozuoti: įdiekite Laravel Debugbar ir žiūrėkite SQL skaičių. Jei puslapyje matote 50+ užklausų — turite N+1 problemą.

2. Nėra kešavimo

Kiekvienas puslapio užkrovimas pakartotinai skaičiuoja tuos pačius duomenis. Paprastas sprendimas:

$stats = Cache::remember('dashboard.stats', 3600, function () {

return DB::table('orders')->selectRaw('...')->get();

});

Redis + Laravel Cache = iki 10x greitesni atsakymo laikai dažnai lankomose vietose.

3. Neoptimizuoti duomenų bazės indeksai

Jei vykdote užklausas pagal el. paštą, statusą ar datą — tose kolonose turi būti indeksai:

$table->index(['status', 'created_at']);

$table->index('email');

Kaip rasti trūkstamus indeksus: naudokite EXPLAIN prieš lėtas užklausas.

4. Assets nekompresinti ir nekešuojami

Statiniai failai (CSS, JS, paveikslėliai) turi būti minifikuoti, sujungti ir pateikiami su ilgu Cache-Control headeriu — idealu per CDN, o ne PHP.

location ~* \.(css|js|jpg|png|svg|woff2)$ {

expires 1y;

add_header Cache-Control "public, immutable";

}

Rezultatai

Vienas mūsų klientas (e-komercija, ~2000 produktų) turėjo 4.8s TTFB. Po šių keturių pakeitimų — 0.6s. Be serverio keitimo, be papildomų išlaidų.

Jei jūsų svetainė lėta ir nesate tikri kodėl — susisiekite. Atliekame nemokamą greitaveikos auditą per 48 valandas.

Turite klausimų ar norite aptarti savo projektą?

Susisiekti