Melding 'Resource Limit Is Reached' (508) of een trage website op drukke momenten

Krijgen bezoekers de melding 508 Resource Limit Is Reached, of is je website op drukke momenten ineens traag? Dan gebruikt je website op dat moment meer van de server dan je pakket toestaat. Hieronder lees je hoe dat werkt, waar je het ziet en wat je eraan doet.

Waarom zijn er limieten?

Op een server draaien veel websites naast elkaar. Elk hostingpakket krijgt een eigen, afgeschermd deel van de server met vaste limieten. Zo kan één drukke of gehackte website de andere websites niet traag maken, en jouw website heeft altijd zijn eigen deel tot zijn beschikking. Hoe hoger het pakket, hoe ruimer de limieten.

Raakt je website een limiet, dan gaat de server niet plat. Alleen jouw website wordt afgeremd of weigert tijdelijk extra bezoekers, tot het weer rustiger is.

De limieten in gewone taal

LimietWat is het?Wat merk je als je hem raakt?
CPURekenkracht: hoeveel werk de processor voor je website mag doen.Je website wordt trager, maar blijft werken.
Geheugen (Physical Memory)Werkgeheugen dat alle scripts van je website samen mogen gebruiken.Scripts worden afgebroken. Bezoekers zien een 500- of 503-fout of een wit scherm.
I/O (Input/Output)Hoeveel er per seconde van en naar de schijf gelezen en geschreven mag worden.Je website wordt trager, vooral bij back-ups, imports en grote databases.
Entry processesHoeveel verzoeken je website tegelijk door PHP laat verwerken. Denk aan het aantal kassa's dat open is.De melding 508 Resource Limit Is Reached voor bezoekers die er niet meer bij kunnen.
ProcessenHet totaal aantal processen van je pakket, dus ook cronjobs, SSH en achtergrondtaken.500- of 503-fouten, of cronjobs die niet starten.

Ook databasequery's tellen mee. Een zware of slecht geschreven query kan dus je CPU- of I/O-limiet raken.

Een voorbeeld

Je webshop draait op WooCommerce en je stuurt een nieuwsbrief met een aanbieding. Binnen een paar minuten openen 100 mensen dezelfde productpagina.

  • Zonder cache bouwt PHP de pagina voor elke bezoeker opnieuw op: database raadplegen, plugins laden, HTML maken. Duurt dat een seconde per bezoeker, dan staan er al snel meer bezoekers voor de kassa dan er kassa's open zijn. De rest krijgt een 508, en wie wel binnenkomt merkt dat alles traag is.
  • Met cache bouwt PHP de pagina één keer op. De volgende 99 bezoekers krijgen een kant-en-klare kopie die LiteSpeed direct uitlevert, zonder PHP. Die bezoekers tellen dan nauwelijks mee voor je limieten.

Winkelwagen, afrekenpagina en Mijn account worden nooit gecachet. Die pagina's blijven dus altijd PHP gebruiken. Daarom is het extra belangrijk dat de rest van je website wél uit de cache komt.

Waar zie ik mijn verbruik?

Ga in het Control Panel van je hostingpakket naar Statistieken & Logs en kies het tabblad Verbruik. Onder Verbruik resources staat per limiet een grafiek. De groene lijn is je gemiddelde verbruik, de rode lijn is de limiet van je pakket. Raakt de groene lijn regelmatig de rode, dan is dat de oorzaak van je 508-meldingen of traagheid. Zie ook Statistieken, verbruik en logbestanden bekijken.

Kijk daarna in de Web Usage Log van je domein wat er op dat tijdstip gebeurde. Zie je honderden verzoeken van hetzelfde IP-adres of dezelfde bot, dan weet je meteen waar het verbruik vandaan komt.

Wat helpt?

1. Zet de cache aan

Dit levert verreweg het meeste op. Gebruik je WordPress, installeer dan de gratis plugin LiteSpeed Cache. Lees WordPress: LiteSpeed Cache Plugin installeren en LiteSpeed-cache legen.

2. Houd overbodige bots buiten

Vaak zijn het geen echte bezoekers die je limiet opmaken, maar bots: SEO-tools, AI-crawlers en scrapers die in korte tijd duizenden pagina's opvragen. Zoekmachines als Google en Bing wil je wel toelaten, maar veel andere bots kun je zonder nadeel blokkeren. Zet hiervoor bovenaan je .htaccess-bestand:

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (AhrefsBot|SemrushBot|MJ12bot|DotBot|PetalBot|Bytespider) [NC]
RewriteRule .* - [F,L]

Pas de lijst aan naar wat je in je logbestand ziet. Komt de overlast van één IP-adres, blokkeer dat dan. Lees Hoe kan ik een IP adres blokkeren op mijn website?

3. Laat WordPress-taken via een cronjob lopen

WordPress voert zijn geplande taken standaard uit bij een bezoek. Op een drukke website gebeurt dat dus heel vaak, en bij elke bot opnieuw. Zet dit uit door in wp-config.php deze regel toe te voegen:

define('DISABLE_WP_CRON', true);

Maak daarna een cronjob die elke 15 minuten wp-cron.php aanroept. Hoe dat werkt lees je in Cronjobs instellen.

4. Kijk kritisch naar plugins en zware taken

  • Plugins voor statistieken, beveiligingsscans, back-ups of zoeken op de site zijn vaak zwaar. Gebruik je ze niet echt, verwijder ze dan.
  • Plan imports, back-up-plugins en nieuwsbrieven op een rustig moment, bijvoorbeeld 's nachts.
  • Gebruik een recente PHP-versie. Die is meestal een stuk sneller. Lees Kan ik van PHP versie veranderen?

5. Upgrade naar een hoger pakket

Heb je de cache aan, de bots buiten de deur en zit je nog steeds regelmatig tegen de limiet aan? Dan is je website gewoon gegroeid. Een hoger pakket heeft ruimere limieten. Is ook het hoogste pakket te krap, dan is een Managed VPS de volgende stap. Neem contact met ons op, dan kijken we samen wat past.

Kom je er niet uit?

Mail ons op support@intention.nl en vermeld:

  • Je domeinnaam.
  • Wanneer de 508-melding of de traagheid optrad, zo precies mogelijk.
  • Of er rond dat moment iets bijzonders was, zoals een nieuwsbrief, actie of import.

Wij kunnen dan nakijken welke limiet geraakt werd en waardoor.

Gerelateerde artikelen

Terug naar de kennisbank

Kom je er niet uit?

Mail ons en je krijgt antwoord van iemand die je omgeving kent.
Op werkdagen meestal dezelfde dag.