Hver nettstedeier drømmer om å gå “viralt”. Men for en serveradministrator blir dette øyeblikket ofte et mareritt. Siden begynner å laste i 30 sekunder, og brukerne ser “Error 500” eller “503 Service Unavailable”.
I denne artikkelen vil jeg vise deg hvordan du forbereder WordPress for høy trafikk.
1. Katastrofens matematikk: PHP workers limit
De fleste WordPress-krasj skyldes ikke mangel på RAM, men utmattelse av PHP Workers-grensen.
Hva er EN PHP worker?
Tenk på en PHP Worker som en kasserer i en butikk.
- Hvis du har 10 kasserere (10 arbeidere).
- Hver kunde trenger 1 sekund for å bli betjent.
- Du kan håndtere maksimalt 10 kunder i sekundet.
Hvis den 11. kunden kommer, må de vente i kø. Hvis køen fylles opp -> Feil 503.
2. Nivå 1: Full page cache (fpc) – Unngå PHP
Den raskeste PHP er den som ikke kjører.
Hvis siden din er statisk (f.eks. en bloggpost), bør du servere en ferdig HTML-fil.
Løsninger:
- Utvidelser: WP Rocket, W3 Total Cache.
- Server-Side Cache (Pro):
- Varnish: En proxy-server som holder hele siden i RAM.
- Nginx FastCGI Cache: Innebygd i Nginx.
- Cloudflare: Serverer siden før trafikken når webhotellet ditt.
3. Nivå 2: Object cache (Redis) – Avlast databasen
Hva med WooCommerce-butikker? Der må PHP jobbe.
Redis (Object Cache) lagrer resultatene av databaseforespørsler i RAM. I stedet for å spørre MySQL (treg disk), spør PHP Redis (rask RAM).
- Uten Redis: 150 SQL-forespørsler per visning.
- Med Redis: 5 SQL-forespørsler per visning.
4. Case study: Analyse av nedetid
Prosjekt: Nyhetsportal på Black Friday. Server døde på 3 minutter.
Hva gikk galt?
- Killer Ajax: En “Besøkssteller”-utvidelse sendte en AJAX-forespørsel (
admin-ajax.php) ved hvert besøk. - Ingen indekser i DB:
ORDER BY RAND()drepte MySQL.
Løsningen
- Deaktiverte Ajax (brukte Google Analytics).
- Implementerte Redis.
- Konfigurerte Varnish.
5. Overvåking
- Query Monitor: Utvidelse for SQL-analyse.
- New Relic: Avansert APM-overvåking.
- Logger:
tail -fi SSH.
Oppsummering
- Hosting: Cloud VPS med konfigurerbare PHP Workers.
- Cache: Varnish eller Nginx FastCGI.
- Database: Redis.
- Opprydding: Deaktiver admin-ajax på frontend.



