9.8. Memory e Cache Replacement Policy

La memory e la Cache Replacement policy è l'algoritmo che determina quali oggetti dovranno essere eliminati e/o sostituiti sul disco quando lo spazio è esaurito ed è necessario nuovo spazio nel Memory Storage o nel Disk Storage. Attualmente vengono implementate 4 differenti cache replacement policy

Utilizzando heap LFUDA, il parametro maximum_object_size di squid.conf deve essere aumentato oltre il suo default di 4096 KB in modo da massimizzarne i potenziali miglioramenti al byte hit rate. Per maggiori informazioni su GDSF e LFUDA consultare le seguenti URLs: http://www.hpl.hp.com/techreports/1999/HPL-1999-69.html e http://fog.hpl.external.hp.com/techreports/98/HPL-98-173.html. La scelta dei tipi di Replacement Policy da attivare, viene effettuata al momento della configurazione dei parametri di compilazione di Squid

% ./configure  --enable-removal-policies="elenco policy"
  

dove l'elenco delle Policy da attivare contiene i nomi (case sensitive) dalle cartelle presenti nel source tree di Squid che ne contengono appunto i sorgenti. La Replacement Policy compilata di default é lru.

% ./configure --enable-removal-policies="lru heap"
  

nell'esempio precedente abbiamo selezionato le Replacement Policy lru e heap

9.8.1. Parametri di configurazione

La configurazione delle Replacement policy in Squid avviene tramite i seguenti parametri

cache_replacement_policy policy
memory_replacement_policy policy
cache_swap_low  low-water-mark
cache_swap_high high-water-mark
   

il TAG cache_replacement_policy

specifica la replacement policy da utilizzare per determinare quali oggetti devono essere eliminati e/o sostituiti quando è necessario del nuovo spazio nel Disk Storage. Il valore predefinito é lru, i valori possibili sono

lru
heap GDSF
heap LFUDA
heap LRU
   

ad esempio

cache_replacement_policy heap LFUDA
   

il TAG memory_replacement_policy

specifica la replacement policy da utilizzare per determinare quali oggetti devono essere eliminati e/o sostituiti quando è necessario del nuovo spazio nel Memory Storage. Il valore predefinito é lru, i valori possibili sono

lru
heap GDSF
heap LFUDA
heap LRU
   

ad esempio

memory_replacement_policy heap GDSF
   

il TAG cache_swap_low

specifica il valore ottimale di percentuale di utilizzo del Disk Storage desiderato, quando tale soglia viene superata, le Policy di Replacement vengono attivate. Il valore predefinito é 90%, ad esempio

cache_swap_low 85
   

il TAG cache_swap_high

specifica il valore massimo di percentuale di utilizzo del Disk Storage desiderato, quando tale soglia viene avvicinata, le Policy di Replacement vengono applicate in modo maggiormente aggressivo. Il valore predefinito é 95%, ad esempio

cache_swap_high 90