När en delad proxycache hjälper en crawler
Utvärdera återkommande resurser, färskhet och crawlerens faktiska hämtningar innan du förväntar dig att en delad forward-proxycache förbättrar genomströmningen.
Anta att flera arbetare i en webbläsare öppnar olika sidor från en webbplats. Sidorna refererar till samma stilmall, logotyp och skriptpaket. En delad forwardcache kan göra den första hämtningen användbar för senare arbetare när svaren kan återanvändas.
Ändra nu arbetsbelastningen: varje arbetare hämtar bara ett HTML-dokument och laddar aldrig de länkade resurserna. Den gemensamma stilmallen finns fortfarande i markeringen, men ingen arbetare begär den. Den bidrar inte alls till proxyns cacheträffkvot.
Börja med de förfrågningar som din crawler faktiskt gör
En webbläsare som renderar en sida och en HTTP-klient som hämtar dess källa skapar olika uppsättningar förfrågningar. Granska dessa uppsättningar innan du väljer en cachedesign.
| Arbetsbelastning | Potential för delat återbruk |
|---|---|
| Arbetare hämtar samma offentliga resurser upprepade gånger | Användbart när regler för färskhet och cachenyckel tillåter det |
| Varje förfrågan har en unik URL eller svarsvariant | Lite överlappning att återanvända |
| Ett svar måste omvalideras före återanvändning | Kan spara svarsbyten men kräver fortfarande en resa uppströms |
| Arbetare tillgodoser redan förfrågningar från sin egen lokala cache | Dessa förfrågningar når kanske aldrig den delade proxyn |
Enbart URL-likhet räcker inte. Svarens färskhetspolicy och fält som namnges av Vary kan skilja representationer. Privat, icke-lagringsbart eller autentiserat innehåll kräver de tillämpliga reglerna för delad cache; det bör inte tvingas in i ett enda offentligt resultat bara för att höja träffantalet.
För vanlig HTTPS CONNECT-trafik transporterar forwardproxyn en krypterad tunnel och har inga HTTP-objekt inuti att cacha. En distribution med TLS-inspektion har annat förtroende- och bearbetningsbeteende. Ta med det faktiska läget när du bedömer om objektcache är tillgänglig.
En cacheträff kan undvika en hämtning uppströms, medan en miss fortfarande betalar för mellanledets arbete. Jämför slutförda användbara byten, trafik uppströms och latens för den avsedda arbetsbelastningen. Antalet trådar beskriver samtidighet; det beskriver inte hur mycket återanvändbart innehåll dessa trådar delar.