Când un cache proxy partajat ajută un crawler
Evaluați resursele repetate, prospețimea și cererile reale ale crawlerului înainte de a aștepta ca un cache forward-proxy partajat să îmbunătățească debitul.
Să presupunem că mai mulți lucrători dintr-un browser deschid pagini diferite ale aceluiași site. Acele pagini fac referire la aceeași foaie de stil, logo și pachet de scripturi. Un cache forward partajat poate face prima cerere utilă pentru lucrătorii ulteriori atunci când răspunsurile pot fi reutilizate.
Acum schimbați încărcarea: fiecare lucrător descarcă doar un document HTML și nu încarcă niciodată resursele asociate. Foaia de stil comună este încă în markup, dar niciun lucrător nu o solicită. Nu contribuie cu nimic la rata de accesări a cache-ului proxy-ului.
Începeți cu cererile pe care crawlerul le face cu adevărat
Un browser care randează o pagină și un client HTTP care îi preia sursa creează seturi de cereri diferite. Examinați aceste seturi înainte de a alege un design de cache.
| Încărcare | Potențial de reutilizare partajată |
|---|---|
| Lucrătorii preiau în mod repetat aceleași active publice | Util când regulile de prospețime și de cheie de cache o permit |
| Fiecare cerere are un URL sau o variantă de răspuns unică | Puțină suprapunere de reutilizat |
| Un răspuns necesită revalidare înainte de reutilizare | Poate economisi octeți de răspuns dar necesită în continuare un drum în amonte |
| Lucrătorii satisfac deja cereri din propriul cache local | Acele cereri pot să nu ajungă niciodată la proxy-ul partajat |
Egalitatea URL-ului singură nu este suficientă. Politica de prospețime a răspunsului și câmpurile numite de Vary pot distinge reprezentări. Conținutul privat, nestocabil sau autentificat necesită regulile aplicabile pentru cache-ul partajat; nu trebuie forțat într-un singur rezultat public doar pentru a crește numărul de accesări.
Pentru traficul HTTPS CONNECT obișnuit, proxy-ul forward transportă un tunel criptat și nu are obiecte HTTP în interior de stocat. O implementare cu inspecție TLS are un comportament de încredere și procesare diferit. Includeți modul real când evaluați dacă stocarea în cache a obiectelor este disponibilă.
O accesare a cache-ului poate evita o preluare din amonte, în timp ce o ratare plătește în continuare munca intermediarului. Comparați octeții utili finalizați, traficul în amonte și latența pentru încărcarea dorită. Numărul de fire descrie concurența; nu descrie cât conținut reutilizabil partajează acele fire.