@@PRODUCT@@

Verbruik en grenzen

Je hostingpakket stelt plafonds: hoeveel rekenkracht je websites mogen gebruiken, hoeveel werkgeheugen, hoeveel processen tegelijk. Meestal loop je er nooit tegenaan. Deze pagina gaat over wat er gebeurt als dat wél zo is — en, nuttiger nog

Geschreven voor: Klant, Reseller, Beheerder

Je hostingpakket stelt plafonds: hoeveel rekenkracht je websites mogen gebruiken, hoeveel werkgeheugen, hoeveel processen tegelijk. Meestal loop je er nooit tegenaan. Deze pagina gaat over wat er gebeurt als dat wél zo is — en, nuttiger nog, over wat er op dat moment draaide.

Je vindt hem onder Account → Verbruik en grenzen, en hij is het antwoord op het vervelendste soort supportvraag dat er is: "vanmorgen was de site traag en nu is er niets aan de hand."

De twee helften van de pagina

Wat je gebruikt van wat je mag

Vijf balken, elk met beide getallen erop.

BalkWat hij telt
CPUrekentijd, als deel van je eigen plafond, over het afgelopen uur
Werkgeheugenwat je websites samen gebruiken, op dit moment
Processenalles wat je account draait: PHP, cron-taken, je shell
PHP-werkershoeveel pagina's je sites tegelijk kunnen opbouwen
Databaseverbindingenopenstaande verbindingen van je drukste databasegebruiker

Vier ervan lezen nu. De CPU-balk leest het afgelopen uur, en dat staat op het label. Dat is geen slordigheid: rekengebruik wordt pas een percentage als je twee metingen met elkaar vergelijkt, dus een getal van "op dit moment" zou verzonnen zijn.

Een balk die niet gemeten zegt is geen balk op nul. Het betekent dat de server dat getal voor dit account niet meldt — een databasebalk op een server zonder database bijvoorbeeld — en een lege balk zou lezen als "niets in gebruik", en dat is iets heel anders.

Wanneer je tegen een grens aan liep

Een teller per grens, een grafiek per uur, en een lijst met momenten.

De tellers en de grafiek beantwoorden hoe vaak. Een uur zonder balk is een uur waarin niets geweigerd is; een uur met een gat is een uur dat niemand gemeten heeft.

De lijst met momenten is de helft die tickets sluit. Zodra je account geweigerd wordt, legt de server eenmalig vast wat er draait: welke processen, hoeveel rekenkracht en geheugen elk gebruikte, hoe lang elk al liep, en welke van je databasequeries openstonden. Open een moment en je ziet bijvoorbeeld dat wp-cron.php al drieënhalve minuut liep en een halve gigabyte vasthield.

Wat er in een opname staat, en wat er bewust niet in staat

Een opname is met opzet onvolledig, en het is de moeite waard te weten waar hij ophoudt:

  • Een proces is de naam van het programma, plus het pad van het script dat het draait als dat script een van je eigen bestanden is. De rest van de opdrachtregel wordt geteld en weggegooid, want dáár worden wachtwoorden en tokens aan programma's meegegeven.
  • Een databasequery houdt zijn vorm en verliest zijn waarden. WHERE user_email='ann@example.nl' komt er als WHERE user_email=? in te staan, en getallen worden N. Je ziet welke query traag was; niemand leest er gegevens van je klanten uit.
  • Alleen je eigen account staat erin. De opname wordt gemaakt uit de eigen procesgroep van je account, dus een buur op dezelfde machine kan er niet in voorkomen en jij niet in die van hem.

Opnames blijven even lang bewaard als de grafiek ernaast, en verdwijnen daarna.

"Je website werd afgeremd"

Als je account de afgelopen uren bij een plafond is tegengehouden, staat dat bovenaan deze pagina en op je accountdashboard. Er staat bij welk plafond, want de drie betekenen iets verschillends:

  • CPU-plafond — de server liet je account wachten. Bezoekers merken een trage website; er is niets misgegaan.
  • Geheugengrens — de server heeft een proces afgebroken. Bezoekers krijgen een foutpagina in plaats van een website.
  • Procesgrens — de server liet niets nieuws starten. Cron-taken en binnenkomende bezoekers krijgen een foutmelding.

Wat je eraan kunt doen

Er zijn precies twee wegen, en welke de juiste is hangt af van het plafond.

Minder laten gebruiken. Eén plug-in, een vastgelopen cron-taak of een query zonder index is veel vaker de oorzaak dan echte groei. De opname noemt het proces; begin daar.

Om meer vragen. Als de opname laat zien dat gewoon verkeer gewoon werk doet, is het pakket te klein. Je hostingprovider kan het plafond verhogen; de getallen op deze pagina zijn het bewijs voor dat gesprek.

Vanaf de opdrachtregel

Heb je SSH-toegang tot de server, dan is dezelfde registratie daar te lezen:

# Alles waar je account bij tegengehouden is, nieuwste eerst
corectl faults list --account jouwgebruiker

# Eén moment in zijn geheel: de processen, de werkers en de queries
corectl faults show jouwgebruiker-memory-1787…

Voor beheerders: hetzelfde beeld voor elk account

Onder Monitoring → Verbruik en grenzen staan drie lijsten over de hele vloot:

  • Grootste verbruikers, op rekentijd. Bovenaan staan is meestal gezond — een drukke webshop is waar het platform voor is.
  • Boven 90% van een grens, op hoe dichtbij. Dit is de lijst die het ticket van morgen voorspelt.
  • Accounts die tegen een grens liepen, op hoe vaak het platform nee zei. Een account kan hier bovenaan staan zonder in de andere twee voor te komen: een klein pakket met een op hol geslagen cron-taak gebruikt bijna niets en wordt voortdurend geweigerd.

Elke regel opent de eigen pagina van dat account, en daar staan de opnames.

Je hoort het ook zonder te kijken. Een account dat er telkens tegenaan loopt levert een melding van de klasse actie vereist op — geen kritieke melding, want er is niets kapot: het platform doet precies wat het pakket belooft, en een website is trager dan zijn eigenaar ervoor betaalt. Eén bericht per dag per account. Een proces dat wegens geheugengebrek is afgebroken meldt altijd, ongeacht de ingestelde grens, want dat account is niet druk — dat is stuk.

De grens staat onder Instellingen → Platform → Meldgrens verbruiksgrenzen, in overschrijdingen per uur.

Zie ook

  • Waar je ruimte heen gaat
  • Wat je zelf kunt regelen