Geavanceerd opwarmen
Opwarmvensters, multi-region opwarming, browser-/SSR-rendering en mobiele user agents.
12 min read
Vier mogelijkheden voor opstellingen die een gewone HTTP-crawl per uur niet dekt. Alle vier zijn planafhankelijk — ontbreekt er een op je formulier, dan zit die niet in je abonnement.
Opwarmvensters
Standaard start een actieve warmer elk auto-startinterval een nieuwe run, de klok rond. Opwarmvensters beperken dat tot uren die jij kiest.
Buiten een venster worden geplande auto-starts overgeslagen. Handmatige starts, deploy-triggers en CDN purge-rewarm-acties werken gewoon — het venster regelt het schema, niet de warmer als geheel.
Waarom je dit zou willen
- Hard opwarmen vóór de piek. Voer op in de uren voor je drukste periode, zodat alles heet is als het verkeer komt.
- 's Nachts terugschalen. Bespaar requestbudget en origin-belasting als er niemand langskomt.
- Onderhoudsvensters beschermen. Stop het opwarmen tijdens back-ups, migraties of batchjobs.
- Aansluiten op een redactioneel ritme. Nieuwsredacties warmen vaak zwaar op vóór het ochtendmoment.
Het JSON-formaat
Het veld opwarmschema verwacht een JSON-object met een tijdzone en een lijst vensters:
{
"timezone": "Europe/Amsterdam",
"windows": [
{ "days": [1, 2, 3, 4, 5], "startHour": 8, "endHour": 20, "intensity": 1 }
]
}| Veld | Betekenis |
|---|---|
timezone | Een IANA-tijdzonenaam zoals Europe/Amsterdam, America/New_York of UTC. Vensters worden in deze zone beoordeeld, dus zomertijd wordt voor je afgehandeld. |
windows | Een lijst tijdvensters. Runs zijn toegestaan binnen elk van deze vensters. |
days | Weekdagen waarop het venster geldt, waarbij 1 maandag is en 7 zondag. |
startHour | Uur waarop het venster opent, 0–23. |
endHour | Uur waarop het venster sluit, 0–23. |
intensity | Relatieve opwarminspanning binnen het venster. 1 is normaal; een lagere waarde warmt rustiger op. |
{
"timezone": "Europe/Amsterdam",
"windows": [
{ "days": [1, 2, 3, 4, 5], "startHour": 6, "endHour": 10, "intensity": 1 },
{ "days": [1, 2, 3, 4, 5, 6, 7], "startHour": 0, "endHour": 5, "intensity": 0.3 }
]
}Controleer of het venster breed genoeg is om af te ronden
Duurt een volledige ronde drie uur en is je venster twee uur, dan worden runs afgekapt en latere URL's nooit opgewarmd. Verbreed het venster, verhoog de rate limit, of beperk de omvang van de warmer.
Tip
Laat het veld leeg om de klok rond op te warmen. Dat is voor de meeste sites de juiste keuze — voeg alleen vensters toe als je daar een specifieke reden voor hebt.
Multi-region opwarming
De meeste CDN's cachen onafhankelijk per point of presence. Een pagina die vanuit Europa is opgewarmd vult de Europese edge — dat doet niets voor een bezoeker in Singapore die een andere POP raakt die die pagina nooit geleverd heeft.
Multi-region opwarming draait een warmer vanaf een gekozen regionale crawler, zodat geografisch verspreide caches ook echt gevuld worden waar je publiek zit. Je stelt dit in met het veld Crawlerregio, en het is een Business-mogelijkheid.
Wanneer je het nodig hebt
- Je hebt noemenswaardig verkeer op meer dan één continent.
- Je CDN cachet per POP of per regio in plaats van wereldwijd.
- Je levert gelokaliseerde content vanaf regiospecifieke origins.
- Je draait een multi-CDN-opzet waarin het gedrag per geografie verschilt.
Zit vrijwel al je bezoek in één land, dan is één regio prima en voegt multi-region kosten toe zonder voordeel.
Vanuit meer regio's opwarmen vermenigvuldigt requests
Elke regio stuurt eigen requests, dus drie regio's dekken verdrievoudigt het requestvolume ruwweg — zowel tegen je origin als tegen je URL-budget. Stel je rate limits daarop af.
Kies regio's op basis van je echte statistieken, niet van ambitie. Een regio opwarmen die twee procent van je verkeer levert is het driedubbele requestbudget zelden waard.
Browser- / SSR-opwarming
Een gewone HTTP-fetch haalt de HTML op die een server teruggeeft. Voor de meeste sites is dat precies wat gecachet wordt, en is het alles wat je nodig hebt.
Sommige stacks zijn anders. Vult de cachelaag waar het jou om gaat zich pas na een volledige render — een JavaScript-zware frontend, of een framework waarvan de cache pas bij een complete navigatie vult — dan warmt een simpele fetch niets nuttigs op.
Browser- / SSR-opwarming gebruikt een echte browserengine om de pagina goed te laden. Het is een Business-mogelijkheid, per warmer aan te zetten.
| Gebruik gewone HTTP-opwarming als… | Gebruik browseropwarming als… |
|---|---|
| Je server complete HTML teruggeeft | De pagina client-side wordt samengesteld |
| Een CDN of paginacache de response opslaat | De cache pas na een volledige render vult |
| Je goedkoop maximale doorvoer wilt | Correctheid belangrijker is dan volume |
| De meeste statische en klassieke CMS-sites | SSR/ISR-achtige routes die niet gevuld raken |
Browseropwarming is veel zwaarder
Een pagina in een browser renderen kost veel meer tijd en resources dan hem ophalen. Gebruik het selectief voor routes die het echt nodig hebben, en houd lichte HTTP-opwarming voor de rest. Zet een hele grote warmer niet op browsermodus zonder de rate limit te verlagen.
De praktische test: draai eerst een normale HTTP-warmer. Toont Cachegezondheid dat die routes koud blijven terwijl de rest van je site verbetert, dan is browseropwarming het proberen waard.
Mobiel opwarmen
Varieert je CDN de gecachete kopie op user agent, of lever je aparte mobiele templates, dan laat opwarmen met alleen een desktop-agent telefoonbezoekers op een koude cache achter — meestal het merendeel van je verkeer.
Zet Mobiele versie opwarmen aan om ook met mobiele user agents te crawlen. Op plannen die dat toestaan kun je ook eigen mobiele user agents opgeven voor exacte controle.
- Essentieel als je cachesleutel de user agent of een apparaatklasse bevat.
- Essentieel als je een apart mobiel thema of een
m.-subdomein levert. - Onnodig als je aan elk apparaat identieke responsive HTML levert — één gecachete kopie bedient dan iedereen.
Note
Desktop- en mobiele varianten opwarmen verdubbelt het requestvolume ruwweg, omdat elke URL onder beide agents wordt opgehaald. Controleer je rate limits en planbudget voordat je dit op een grote site aanzet.
Eigen user agents
Met het veld User agents bepaal je precies met welke agent-strings requests verstuurd worden. Redenen om dat te doen:
- Je CDN sleutelt de cache op specifieke agent-strings en je moet die exact matchen.
- Een botfilter blokkeert onbekende agents en je hebt er één toegestaan.
- Je wilt warm-requests herkenbaar hebben in je serverlogs, om ze van echt verkeer te scheiden.
Tip
Een kenmerkende, herkenbare user agent voor opwarmen is een goede gewoonte. Het maakt Cache Rocket-verkeer duidelijk zichtbaar in je statistieken en logs, en eenvoudig uit rapportages te filteren.