29.2. Requisiti di sistema

Il parametro più importante è il carico massimo che può essere tollerato dal sistema. Per determinarlo, è necessario fare attenzione anche ai picchi che possono essere pari a quattro volte la media giornaliera. In caso di dubbi, è preferibile sovrastimare i requisiti di sistema, anche perché utilizzare Squid ai limiti delle capacità può influire significativamente sulla qualità del servizio. Le sezioni che seguono descrivono tutti questi fattori in ordine di importanza.

29.2.1. Dischi rigidi

La velocità è molto importante per l'operazione di caching, quindi merita particolare attenzione. Nel caso specifico dei dischi rigidi, questo parametro viene chiamato tempo di ricerca casuale e viene misurato in millisecondi. Poiché i blocchi di dati letti o scritti da Squid sono piuttosto piccoli, il tempo di ricerca del disco rigido è molto più importante della velocità di throughput. Per i proxy, è generalmente preferibile usare dischi rigidi con una velocità di rotazione elevata perché permettono di posizionare più velocemente la testina di lettura/scrittura nella posizione desiderata. Un altro modo per incrementare la velocità di elaborazione del sistema consiste nell'usare più dischi contemporaneamente oppure creare un array RAID in modalità striping.

29.2.2. Dimensione della cache disco

Nelle cache di piccole dimensioni, la probabilità di trovare una CORRISPONDENZA, ossia trovare un oggetto richiesto, è ridotta perché la cache tende a riempirsi rapidamente, quindi i nuovi oggetti vengono sovrascritti su quelli più vecchi. Ad esempio se la cache ha una dimensione di 1 GB e l'utente visita l'equivalente di 10 MB di pagine Web al giorno, la cache si riempirebbe dopo 100 giorni.

Il modo migliore per stimare la quantità di cache necessaria, può essere utile tener conto della velocità di trasmissione dei dati massima alla connessione. Se si utilizza una connessione da 1 Mbit/s, la velocità massima di trasferimento dei dati sarà pari a 125 KB/s. Se tutto il traffico relativo alla connessione viene salvato nella cache, in un'ora la cache conterrebbe l'equivalente di 450 MB. In 8 ore di lavoro, tale traffico ammonterebbe a 3,6 GB in un solo giorno. Tuttavia, poiché le connessioni vengono raramente usate al limite massimo, si può supporre che il volume complessivo dei dati gestito dalla cache sia intorno a 2 GB. Per questo nell'esempio, vengono utilizzati 2 GB di spazio su disco per consentire a Squid di salvare nella cache i dati rilevanti.

29.2.3. RAM

La quantità di memoria (RAM) usata da Squid è direttamente correlata al numero di oggetti contenuti nella cache. Squid salva anche i riferimenti agli oggetti nella cache e gli oggetti richiesti con maggiore frequenza nella memoria principale per rendere più veloci le operazioni di ripristino dei dati. L'accesso alla RAM è molto più immediato che l'accesso al disco rigido.

Squid conserva però in memoria anche altri dati come la tabella con tutti gli indirizzi IP gestiti, la cache con il nome esatto del dominio, gli oggetti richiesti con maggiore frequenza, gli elenchi di controllo degli accessi, i buffer e molto altro ancora.

È molto importante verificare che la memoria a disposizione sia sufficiente per garantire l'esecuzione del processo Squid, perché l'uso del disco rigido anzichè della memoria riduce significativamente le prestazioni del sistema. La memoria cache può essere gestita tramite lo strumento cachemgr.cgi, descritto riportato nella Sezione 29.6, "cachemgr.cgi". Per i siti con un traffico elevato, può essere opportuno usare un sistema AMD64 o Intel EM64T con una memoria superiore a 4 GB.

29.2.4. CPU

Squid non è un programma che utilizza in modo intensivo la CPU. Il carico del processore aumenta solo durante il caricamento o il controllo dei contenuti nella cache. L'uso di sistemi con più processori non consente generalmente di incrementare le prestazioni del sistema. Per rendere il sistema più efficiente, è preferibile acquistare dischi più veloci o incrementare la memoria.