Com\’è dura la professione!

23 agosto 2006

Deframmentare

Filed under: Linux — lbell @ 21:03

Mi sono sempre chiesto perché per Windows fioriscono i programmi di deframmentazione mentre in Linux sono praticamente assenti. Avevo trovato un bel post (questo) da cui mi sembrava di avere avuto indicazioni chiare, ma leggendo i commenti i dubbi mi sono ritornati. I filesystem NTFS e quelli classici Linux sono stati ovviamente studiati per per un utilizzo in multiutenza, ma sono impiegati in una varietà di ambienti, dal file server al web server, al database server al desktop monoutente. Posso immaginare che NTFS sia stato adeguatamente progettato, dimensionato e testato, e allora dove sta la differenza? Perché in Windows si nota un drastico incremento di prestazioni di un NTFS deframmentato, mentre sotto Linux non ci è data la possibilità di provare questa gioia? Forse dipende dal fatto che più che dai meandri del kernel la differenza dipende dall’utilizzo dei programmi. Un sistema desktop Windows lo si nota perché lo si ha sempre sotto gli occhi. Forse dipende dalla cache dei dispositivi di memorizzazione che viene alimentata dalla memoria lasciata libera dai programmi. I filesystem sono bestie complesse, gestiscono il journaling, possono cambiare strategia di allocazione a seconda della dimensione e del tipo dei file, gestiscono una cache logica per file ed una fisica, per settori. Fare dei test semplici non dà affatto l’idea di cosa succede in un server dopo un anno di lavoro ininterrotto, né di come un RDBMS che decide di allocare un grosso blocco di dati per poterlo gestire in proprio possa funzionare, senza tenere conto di tutte le soluzioni hardware possibili. Come fattori da tenere presente ci sono anche la cache sul controller dei dischi, l’uso di gestori di volumi logici che disperdono i dati su più dischi fisici, e l’uso di diversi filesystem su differenti partizioni.

1 commento »

  1. no il motivo è molto piu semplice: il metodo di allocamento dipende dal filesystem usato. ntfs alloca i file appena trova spazio libero, anche fra altri file, in questo modo viene persa l integrità del file e viene registrato “a casaccio”. ext3 reiser4 ext2 invece curano quella parte li: scrivono solo in zone in cui si trova spazio abbastanza grande in modo da poter scrivere TUTTO il file. alchè la % di file frammentati rimane molto piu bassa rispetto a win.
    ciauz, se hai bisgono

    bergs@hotmail.it MSN
    bergs@jabber.belnet.be Jabber

    Commento di berga — 18 ottobre 2007 @ 14:45 | Rispondi


RSS feed for comments on this post. TrackBack URI

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Crea un sito o un blog gratuitamente presso WordPress.com.

%d blogger cliccano Mi Piace per questo: