9.9. Indicazione dimensionamento del cache store

Per dimensionare correttamente il Cache Store di una webcache è necessario tener conto di vari aspetti. Il parametro di configurazione cache_mem specifica la quantità massima di memoria utilizzabile da Squid per contenere gli oggetti di tipo In-Transit, Hot e Negative-Cached. Per identificare al meglio il fabbisogno di memoria fare riferimento al paragrafo note sull'utilizzo della memoria RAM. Non dimentichiamo mai che il valore espresso in MByte assegnato al Memory Storage di Squid non dovrebbe mai superare 1/4 della memoria RAM totale installata sul sistema. Se una macchina dispone di 196 Megabytes di RAM fisica è consigliabile impostare un TAG cache_mem pari a 49 MByte

cache_mem 49 MB 
  

un'altra variabile da tenere in considerazione al fine di ottenere delle ottime performance, è quella di definire approssimativamente il numero degli utenti che dovranno utilizzare Squid. La letteratura disponibile in materia, consiglia una assegnazione di circa 20 MByte di spazio cache_dir per ogni utente che accede al proxy server Squid. Dunque 20 utenti contemporanei dovrebbero rappresentare 400 MByte di cache_dir storage

cache_dir ufs /usr/local/squid/cache 400 16 256 
  

un'altra soluzione empirica è quella di definire 10 MByte di RAM per ogni GByte di cache_dir, per le piattaforme a 64 bit come Alpha ed Opteron, il valore deve essere di 14 MByte per ogni GByte, più ulteriori 10 - 20 MByte (15 - 30 nei sistemi a 64 bit). La memoria fisica presente nel sistema dovrebbe essere pari ad almeno il doppio del risultato del precedente calcolo. Tenendo conto delle indicazioni sinora esposte si presenta uno schema di cache implementato con successo in un'ambiente di livello enterprise.

Le appliance di periferia sono collegate tramite linee dedicate e ridondano la relazione di parent tra le due cache principali, tra loro collegate in modalità sibling (Cfr. capitolo sulle gerarchie di cache). Lo script di bilanciamento del carico è installato presso due server WPAD che sono configurati in modalità round robin (Cfr. capitolo sul fail-over).

Squid utilizza la memoria del Sistema Operativo per eseguire diverse operazioni

si raccomanda inoltre una ulteriore quantità di memoria RAM che verrà utilizzata da parte del sistema operativo per aumentare le prestazioni dell'I/O, nonchè per tutte le altre applicazioni che possono essere eseguite da un Sistema Operativo che esegue, oltre a Squid, anche altri servizi di rete. Un ulteriore livello minimo di memoria RAM è richiesto per il management dei processi, per il logging ed altre routines che vengono sempre eseguite dal Sistema Operativo.