9.3. Eseguire l'ottimizzazione del file system

Vi sono alcune impostazioni di Sistema che possono migliorare decisamente le performance di un filesystem con Squid. Un filesystem può essere montato con l'opzione noatime, questa funzionalità non aggiorna il tempo di accesso sul file quando lo stesso viene letto e può essere utilizzata sui quei file system dove sono stati memorizzati moltissimi files. In questo caso le prestazioni sono più importanti se paragonate con il tempo di accesso ai files, nessun file system di rete attualmente supporta questo tipo di opzione

# Device    Mountpoint FStype Options                        Dump Pass#
/dev/da0s1g /cache     ufs    rw,nosuid,nodev,noexec,noatime 2    2
  

per avere maggiori informazioni possiamo consultare la pagina man del comando mount(8). Un'altra opzione interessante è async, abilitando questa funzionalità del file system potremo eseguire le operazioni di disk I/O in modalità asincrona. Dobbiamo informare gli utenti che l'utilizzo di questo tipo di flag viene considerato piuttosto pericoloso.

A riguardo dei file system c'è da dire che i sistemi *BSD dispongono di una features denominata softupdates, i softupdates, per le loro peculiarità, possono essere paragonati ai file systems di tipo journaled che sono stati inseriti anche nei sistemi GNU Linux.

Con i file system UFS ed ext2 gli aggiornamenti vengono scritti immediatamente, quando vengono inseriti nuovi dati le informazioni verranno scritte immediatamente sul disco. Un journaling filesystem scrive i metadati all'interno di un file di log, questo file è un semplice file sequenziale nel quale vengono memorizzate tutte le informazioni prima che un qualsiasi comando venga eseguito dal Sistema, i metadati verranno successivamente trasferiti dal file di log alla loro reale destinazione. Se una unità a disco va in errore, sarà proprio il file di log che consentirà di riportare i dati sul disco ad una condizione consistente.

I softupdates dei sistemi *BSD al pari dei journaled file system, riordinano e raggruppano le diverse operazioni di modifica dei metadati. Questo modello elimina i problemi che potrebbero affliggere una macchina rimasta priva di alimentazione o una macchina andata in crash. Come abbiamo detto sono diversi i file system del tipo journaled che sono disponibili per i diversi Sistemi Operativi, su GNU Linux possiamo scegliere tra ext3, reiserfs, XFS e JFS, ext3 è un file system ext2 che prevede un file di log per le transazioni del tipo jurnaled.