[bglug] Defrag in linux... non serve! Ma chi me lo dice??

Asperti Paolo paolo@asperti.com
Mer 26 Set 2007 11:02:17 CEST


Il giorno 26/set/07, alle ore 10:33, Diego Settimi ha scritto:

> Il fatto è che un mio cliente lamenta che in una mia applicazione che
> storicizza molti dati, non ci sia una gestione dei file che tende a
> minimizzare il problema della frammentazione.
>
E a lui cosa gliene frega?
L'applicazione funziona?
Ci sono anomalie / cali prestazionali imputabili alla frammentazione?
Ma lui lo sa che io ho un'hard disk da 80 gb (vecchiotto) che per  
scrivere 10 mb impiega MOLTO meno di un secondo?


>
> Secondo lui questo frammenta il disco e degrada le prestazioni,  
> secondo me
> questo non avviene, proprio grazie alla gestione intelligente del
> posizionamento del filesystem.

La frammentazione non è un problema risolvibile. E' un qualcosa con  
cui fare i conti. E' inevitabile.
E' ovvio che degrada le prestazioni, ma un flusso di 10Mb/ora è  
gestibilissimo. Anche il mio cell nokia riesce a gestire quel  
transfer rate (se non si impala prima).

E comunque se l'applicazione funziona senza problemi imputabili alla  
frammentazione, si sta discutendo del sesso degli angeli.

>
> Mi confermate che ho ragione?

Per me è ovvio che hai ragione.
In ogni caso la prova è semplice: dopo un fsck c'è un bel messaggino  
che ti dice la percentuale di blocchi non contigui (quindi la % di  
frammentazione).
Esegui un fsck, segna la %, torna dopo qualche giorno e fai lo  
stesso. Se la percentuale è aumentata di qualche punto, il tuo  
cliente ha ragione. (credo di non aver mai visto un filesystem ext2  
con più del 15% di frammentazione)


> E soprattutto, dove trovo un qualcosa di
> ufficiale (no forum o siti poco rilevanti) che dica che in linux  
> non serve
> il defrag?

in realtà il defrag non serve MAI, a nessun FS di nessun SO.
Questo perchè il defrag è una pezza, che metti attorno a un tubo che  
perde invece di aggiustarlo.
Se il tuo FS arriva al 30% di frammentazione in 2 mesi di utilizzo,  
deframmenti e porti la % a zero, vedrai che dopo altri 2 mesi sei  
ancora al 30%. Questo perchè l'utilizzo che viene fatto di quel FS  
porta a quel livello di frammentazione.
La soluzione non è deframmentare ogni tot giorni, ma agire su altre  
componenti del FS. Prima tra tutte, la dimensione dei blocchi.

Qui è spiegato bene il mio punto di vista: http://en.opensuse.org/ 
SDB:EXT2_Fragmentation




> Vi ringrazio, Diego

ciao!

--
Asperti Paolo
paolo@asperti.com





Maggiori informazioni sulla lista bglug