Wanneer een gedeelde proxycache een crawler helpt
Beoordeel herhaalde bronnen, versheid en de werkelijke verzoeken van de crawler voordat u van een gedeelde forward-proxycache hogere doorvoer verwacht.
Stel dat meerdere workers in een browser verschillende pagina's van één site openen. Die pagina's verwijzen naar dezelfde stylesheet, hetzelfde logo en dezelfde scriptbundel. Een gedeelde forwardcache kan de eerste ophaalactie nuttig maken voor latere workers wanneer de antwoorden herbruikbaar zijn.
Verander nu de werkbelasting: elke worker downloadt slechts één HTML-document en laadt nooit de gekoppelde bronnen. De gedeelde stylesheet staat nog in de opmaak, maar geen enkele worker vraagt hem op. Hij draagt niets bij aan de cache-hitratio van de proxy.
Begin bij de verzoeken die uw crawler daadwerkelijk doet
Een browser die een pagina weergeeft en een HTTP-client die de bron ophaalt, maken verschillende verzoekverzamelingen. Onderzoek die verzamelingen voordat u een cacheontwerp kiest.
| Werkbelasting | Potentieel voor gedeeld hergebruik |
|---|---|
| Workers halen herhaaldelijk dezelfde openbare assets op | Nuttig wanneer versheids- en cachesleutelregels het toestaan |
| Elk verzoek heeft een unieke URL of antwoordvariant | Weinig overlap om te hergebruiken |
| Een antwoord moet opnieuw worden gevalideerd voordat het wordt hergebruikt | Kan antwoordbytes besparen maar vereist nog steeds een ronde naar bovenstrooms |
| Workers voldoen verzoeken al uit hun eigen lokale cache | Die verzoeken bereiken de gedeelde proxy mogelijk nooit |
Gelijkheid van URL alleen is niet voldoende. Het versheidsbeleid van het antwoord en velden die Vary noemt kunnen representaties onderscheiden. Privé-, niet-opslagbare of geauthenticeerde inhoud vereist de toepasselijke regels voor gedeelde caches; die mag niet in één openbaar resultaat worden gedwongen alleen om het aantal treffers te verhogen.
Voor gewoon HTTPS CONNECT-verkeer vervoert de forwardproxy een versleutelde tunnel en bevat daarin geen HTTP-objecten om te cachen. Een implementatie met TLS-inspectie heeft ander vertrouwens- en verwerkingsgedrag. Neem de werkelijke modus mee bij het beoordelen of objectcaching beschikbaar is.
Een cachetreffer kan een ophaalactie bovenstrooms vermijden, terwijl een misser nog steeds betaalt voor het werk van de tussenlaag. Vergelijk voltooide nuttige bytes, verkeer bovenstrooms en latentie voor de beoogde werkbelasting. Het aantal threads beschrijft gelijktijdigheid; het beschrijft niet hoeveel herbruikbare inhoud die threads delen.