Newsgroup: it.comp.os.linux.sys
Titolo: l'imbarazzante lentezza di Squid

ciao a tutti,
 
ma è una mia impressione o ormai squid, come puro web cache, è un 
controsenso?
 
in quest'ultima installazione, alle prime prove con un browser, ho 
notato una latenza di qualche secondo su tutte le prove, sarà che qui 
senza si naviga davvero veloce.
 
senza squid, semi-immediatezza.
 
con squid, qualche secondo in più (1-3).
 
per scrupolo ho ricontrollato come un certosino TUTTO perdendo ore, dns, 
bind, mtu, acl, replacement policy, mianonna, eppure. ho provato a 
virtualizzare uno squid sul mio laptop, tanto per, ma uguale.
 
vabbè che ormai le pagine sono tutte dinamiche, ma anche tornando su 
pagine piene di elementi grafici visitate recentemente, con gli stessi 
elementi grafici, rimane lento.
 
è una cosa davvero così triste o sono io che sicuramente ignoro qualcosa?

 qualcosa?
 
L'ordine di grandezza dei secondi mi pare decisamente eccessivo ma ad 
ogni buon conto squid non è nato per fare da web cache.
 
Se poi parli di "elementi grafici" intendendo elementi statici, allora 
non ha proprio senso metterci squid davanti, considerando che squid non 
può fornire quei dati più velocemente di un apache o di un nginx 
qualunque.


Ammetto che non ti seguo nemmeno io... :-P
 
 
-- 
Paranoia is a disease unto itself. And may I add: the person standing
next to you may not be who they appear to be, so take precaution.
-----------------------------------------------------------------------------
http://bofhskull.wordpress.com/
 

 Ammetto che non ti seguo nemmeno io... :-P
 
Hai pure tu ragione

> qualcosa?
 
Lascia perdere quello che ho scritto.
Avevo il cervello sui reverse proxy per un progetto e ho interpretato 
tutto piuttosto male.
 
Allora, tendenzialmente l'impressione è corretta, con un pò di se e di ma.
 
1) squid fino alla 3.1 non supportava HTTP/1.1. Se consideri queste 
versioni vecchie, la limitazione a http/1.0 è già un bel sasso da 
portarsi dietro.
2) le versioni di squid oltre la 3.1 dicono che supportano http/1.1 ma 
per mia esperienza personale lo fanno malissimo. La situazione però 
dovrebbe essere migliore rispetto al punto 1).
 
Verifica quale versione stai usando e come squid fa le richieste ai vari 
servers.
 
 
 
Nel tuo caso, tempi di caricamento delle pagine nell'ordine dei secondi 
si giustificano solo con una singola connessione per richiesta, ovvero 
http/1.0 e non l'1.1 e per il caricamento della pagina "iniziale".
 
Se squid sta facendo realmente caching, dopo la prima volta che hai 
caricato la pagina dovresti vedere un "reale" miglioramento delle 
prestazioni.
 
Se anche la seconda volta che carichi un sito non vedi miglioramenti 
sensibili i casi sono due:
1) squid non sta facendo caching ed i problemi sono tuoi di configurazione
2) squid non sta facendo caching perchè il server web dall'altra parte 
gli dice di non farlo.
 
Un penultimo appunto: sono sempre di più i siti che inviano headers per 
NON far cacheare alcun contenuto ai proxy ma permettono al client di 
cachearsi le pagine.
Questo perchè un layer di mezzo che fa caching di solito, nel 2012, fa 
più danni che altro.
 
 
Ultimissima considerazione: alcuni browser quando NON usano proxy fanno 
partire N (con N almeno 4) connessioni verso i vari server da cui devono 
prelevare i contenuti.
Quando utilizzano un proxy questa funzionalità spesso è disabilitata e si 
limitano ad una singola connessione.
Se configuri il tuo squid come transparent proxy (quindi allìinsaputa del 
browser che si comporterebbe come se il proxy non ci fosse) potresti 
verificare questo aspetto.
 
 
Ti ho dato alcuni spunti su cui analizzare il problema ma senza esempi 
pratici: URL, pagine, numeri veri nel dettaglio, headers, fare 
considerazioni più approfondite è un azzardo.
 


 
Infatti ti ringrazio molto, hai scritto diverse cose che non sapevo 
dandomi interessantissimi spunti per verifiche aggiuntive.
 
Se riscontrerò qualcosa di utile tornerò a postarlo.
 

 dovrebbe essere migliore rispetto al punto 1).
 
Quindi, andando leggermente OT, se uno intendesse usare squid come proxy 
al solo scopo di controllare chi può o no accedere ad internet rischia 
solo di andare a mettersi nei casini?
 
 

 solo di andare a mettersi nei casini?
 
Non ho detto questo.
 
Se lo usi come web cache allora si, puoi avere dei casini. Sono veramente 
tante le applicazioni scritte con i piedi che funzionano male con un proxy 
in mezzo. Quindi, se vuoi solo fare enforcing dell'accesso ad internet, 
disabilita quanto più possibile le funzionalità di caching.
 
Ovvio che se i casini provengono da siti inutili o vietati puoi 
derubricarli in "features".
Se i casini provengono da siti aziendali o interni (e gli scarpari sono 
tanti) allora puoi farteli correggere.
Se sono siti che utilizzi ma fuori dal tuo controllo, è probabile che 
altri abbiano già chiesto di sistemarli (magari non ottenendo risposta 
affermativa).
 
Personalmente utilizzo proxy che NON cacheano nulla per evitare queste 
problematiche.

 problematiche.
 
Beh, se basta disabilitare il caching non c'è nessun problema. L'unico 
uso per cui dovrebbe venire installato questo proxy è solo di filtro.
 
Grazie

 disabilita quanto più possibile le funzionalità di caching.
 
Purtroppo vero, 3-4 casi di problematiche di accesso con proxy le ho 
riscontrate anche io.