Windows User kennen die vielen Beschwörungsformeln die es so gibt, um ein Windows Laufwerk benutzbar zu halten. Tatsächlich sind Filesystemfragmentierung neben dem Vermüllen der Registry ein großes Problem bei der Performance von Desktop Systemen.
Auf Servern sind die Auswirkungen und der Grad der Fragmentierung abhängig von den Zugriffsmustern. Übrigens ist dies nicht so sehr abhängig vom verwendeten Filesystem und Betriebsytem, diese Effekte finden sich in jedem Filesystem.
Je nach Belastung des Filesystems entstehen Fragmente schneller oder langsamer. Besonders problematisch ist immer, wenn neben normalen Datenfiles noch grosse wachsende Files hinzuommen. Fragmentierung entsteht durch löschen/kürzen von Dateien. Normalerweise erholt sich ein Filesystem wieder, wenn die fragmentierten Files gelöscht werden. Dieses erholen kann aber nicht einsetzen, wenn viele der Files lange Zeit gespeichert werden.
Auf Servern sind die Auswirkungen und der Grad der Fragmentierung abhängig von den Zugriffsmustern. Übrigens ist dies nicht so sehr abhängig vom verwendeten Filesystem und Betriebsytem, diese Effekte finden sich in jedem Filesystem.
Je nach Belastung des Filesystems entstehen Fragmente schneller oder langsamer. Besonders problematisch ist immer, wenn neben normalen Datenfiles noch grosse wachsende Files hinzuommen. Fragmentierung entsteht durch löschen/kürzen von Dateien. Normalerweise erholt sich ein Filesystem wieder, wenn die fragmentierten Files gelöscht werden. Dieses erholen kann aber nicht einsetzen, wenn viele der Files lange Zeit gespeichert werden.
Von Strehi habe ich ein schönes grafisches Beispiel für einen Server mit einem "kleinen" Fragmentierungsproblem. Es handelt sich um einen großen Mailbox Server, auf dem in gehashten Verzeichnisses Millionen von Mailbox Files liegen.
Mailbox Files haben die Eigenschaft, dass sie sehr lange gespeichert werden, und regelmäßig wachsen und wieder gekürtzt werden. Das ist eine ziemlich tötliche Belastung für ein Filesystem. Wenn dann aber noch eine Eigenart des Filesystems hinzukommt, die Datenfiles möglichst nahe an deren Verzeichnisblöcke zu schieben, so kommt es zu einem Gedränge am Anfang des Laufwerks (weil dort initial die Verzeichnisse angelegt wurden). Hier ist das Problem schön in grafischer Ansicht zu sehen.
Es handelt sich dabei um ein ext2 Filesystem auf einem Linux Server. Durch einen kleinen Patch konnte Strehi mit seinen Mitarbeiter den Kernel so modifizieren, dass dieser wesentlich freizügiger mit der Verteilung der Files ist. Dadurch hat jedes Mailboxfile wesentlich mehr Raum zu "atmen". Grundvoraussetzung hierfür ist natürlich genügend Freier Platz auf der Festplatte. Dies ist generell ein guter Rat, die Laufwerke mit starker Änderungsfrequenz nicht über 50% zu befüllen. Nach dem Patch ergibt sich nebenstehenden Bild.
Die beiden Screenshots sind mit dem Tool ext2vnc erstellt, das es erlaubt über Netzwerk mit einem herkömmlichen VNC Client die Belegung der Blöcke zu analysieren.
Wenn Sie sich aber kein Linux Kernel Spezialistenteam leisten können, oder gar sich für den Einsatz von Windows Servern entschieden haben, so müssen Sie mit den Problemen des NTFS leben. Microsoft empfiehlt eine regelmäßige Defragmentierung einmal die Woche. Dazu sind allerdings kommerzielle Defragmentierungstools notwendig. Die Tools die bei Windows 2003 oder XP mitgeliefert werden, sind hier in der Regel nicht geeignet. Optimale Ergebnisse erhält man aber auch dann nur, wenn ausreichend freier Platz auf dem Filesystem vorhanden ist.
sysinternals hat einige Tools für die Analyse (NTFSInfo, Diskview) und Behebung von Fragmentierungen. Dazu gehört ein command Line Tool mit dem man einzelne Files defragmentieren kann (contig). Ebenso ein Tool zur Defragmentierung von Files die normalerweise immer benutzt sind (PageDefrag) und somit nicht defragmentiert werden können.
Bei der Erstellung von Anwendungen sollte man sich dem Problem bewusst sein, wie in meinem Artikel zum Thema File Persitence bereits ausgeführt geht es aber immer um ein Abwäägen zwischen Einfachheit/Robustheit auf der einen Seite, und ausgeklügelten Reuse Strategien oder den Einsatz von Datenbanken auf der anderen Seite. (Im obigen Beispiel ist diese Entscheidung übrigens Zugunsten des stabilen ext2 Filesystems ausgefallen).
Mailbox Files haben die Eigenschaft, dass sie sehr lange gespeichert werden, und regelmäßig wachsen und wieder gekürtzt werden. Das ist eine ziemlich tötliche Belastung für ein Filesystem. Wenn dann aber noch eine Eigenart des Filesystems hinzukommt, die Datenfiles möglichst nahe an deren Verzeichnisblöcke zu schieben, so kommt es zu einem Gedränge am Anfang des Laufwerks (weil dort initial die Verzeichnisse angelegt wurden). Hier ist das Problem schön in grafischer Ansicht zu sehen.
Es handelt sich dabei um ein ext2 Filesystem auf einem Linux Server. Durch einen kleinen Patch konnte Strehi mit seinen Mitarbeiter den Kernel so modifizieren, dass dieser wesentlich freizügiger mit der Verteilung der Files ist. Dadurch hat jedes Mailboxfile wesentlich mehr Raum zu "atmen". Grundvoraussetzung hierfür ist natürlich genügend Freier Platz auf der Festplatte. Dies ist generell ein guter Rat, die Laufwerke mit starker Änderungsfrequenz nicht über 50% zu befüllen. Nach dem Patch ergibt sich nebenstehenden Bild.
Die beiden Screenshots sind mit dem Tool ext2vnc erstellt, das es erlaubt über Netzwerk mit einem herkömmlichen VNC Client die Belegung der Blöcke zu analysieren.
Wenn Sie sich aber kein Linux Kernel Spezialistenteam leisten können, oder gar sich für den Einsatz von Windows Servern entschieden haben, so müssen Sie mit den Problemen des NTFS leben. Microsoft empfiehlt eine regelmäßige Defragmentierung einmal die Woche. Dazu sind allerdings kommerzielle Defragmentierungstools notwendig. Die Tools die bei Windows 2003 oder XP mitgeliefert werden, sind hier in der Regel nicht geeignet. Optimale Ergebnisse erhält man aber auch dann nur, wenn ausreichend freier Platz auf dem Filesystem vorhanden ist.
sysinternals hat einige Tools für die Analyse (NTFSInfo, Diskview) und Behebung von Fragmentierungen. Dazu gehört ein command Line Tool mit dem man einzelne Files defragmentieren kann (contig). Ebenso ein Tool zur Defragmentierung von Files die normalerweise immer benutzt sind (PageDefrag) und somit nicht defragmentiert werden können.
Bei der Erstellung von Anwendungen sollte man sich dem Problem bewusst sein, wie in meinem Artikel zum Thema File Persitence bereits ausgeführt geht es aber immer um ein Abwäägen zwischen Einfachheit/Robustheit auf der einen Seite, und ausgeklügelten Reuse Strategien oder den Einsatz von Datenbanken auf der anderen Seite. (Im obigen Beispiel ist diese Entscheidung übrigens Zugunsten des stabilen ext2 Filesystems ausgefallen).
Trackbacks
Trackback für spezifische URI dieses Eintrags
Keine Trackbacks
Layout by Ricky Wilson | Serendipity Template by Carl Galloway | Login
Impressum
Bernd Eckenfels
Mörscher Str. 8
76185 Karlsruhe
bernd-08(a)eckenfels.net
Read More
Suche
Kategorien
Verlinkung
- Artikel[294]
- sysinternals[175]
- contig[197]
- PageDefrag[190]
- Diskview
- NTFSInfo[181]
Umfrage
Inhouse Coding?
Archive
Archive
Kommentare
Hans Dampf zu Bewerbung
2008-11-16 11:41
Ich finde es schon sehr anmaßend au
f derartige Anschreiben "negativ" z
u reagieren (und diese zu verspotte
n). Ansch [...]
2008-11-16 11:41
Bernd Eckenfels zu Bewerbung
2008-11-12 20:58
ROTFL - ja auf die Idee diese Blind
bewertungen abzusagen bin ich noch
garnicht gekommen .) Ist das jetzt
unhöflich [...]
2008-11-12 20:58
Dana Stoll zu Bewerbung
2008-11-12 13:39
Anbei ein Antwortschreiben, ebenfal
ls um einige Gedanken ergänzt.
S
ehr geehrter Herr Bewerber,
viel
en Dank f [...]
2008-11-12 13:39
Balu zu Gmail Features
2008-11-11 09:33
Schade, ich mag das Interface von G
Mail, aber ich brauche diese Filter
, um Catchall-Konten zu sortieren..
.
Ich [...]
2008-11-11 09:33
Bernd Eckenfels zu Gmail Features
2008-11-11 02:37
Ich glaube nen, nur From/To/Subject
, body und hasAttachment.
2008-11-11 02:37
Balu zu Gmail Features
2008-11-11 01:12
Kann man inzwischen nach beliebigen
Header-Feldern filtern?
Also z.
B. nach X-Original-To: oder sowas?
2008-11-11 01:12
TK zu Gmail Features
2008-11-09 18:34
LoL hätte nicht gedacht das die den
schwachsinn wirklich einführen. Au
ßerdem könnte ein Betrunkener das F
eature au [...]
2008-11-09 18:34
Bernd Eckenfels zu Gmail Features
2008-11-07 03:00
Ja ich benutz das eigentlich nur in
Englisch. Die Features waren mir n
ur bisher nicht aufgefallen .)
2008-11-07 03:00
Rico zu Gmail Features
2008-11-05 16:58
Tip: GMail auf Englisch umstellen,
dann hast du die neuen Features sch
on Monate vorher.
2008-11-05 16:58
Hardware-Blogger zu Firmenstrukturen
2008-11-03 21:44
Sehr lustig das Bild aber leider wi
rklichkeit in vielen Unternehmen...
2008-11-03 21:44
Blog abonnieren
Blogsphere
Letzten Monat...
Fr, 17.10.2008Java 6u10 ist da (und 6u7 für Itanium)
Fr, 17.10.2008Java 6u10 ist da (und 6u7 für Itanium)
Do, 16.10.2008Gillmor und der Open Source Markt
Mo, 13.10.2008Microsoft Entwicklungen
Mi, 08.10.2008Hyper-V Server
Fr, 17.10.2008Java 6u10 ist da (und 6u7 für Itanium)
Do, 16.10.2008Gillmor und der Open Source Markt
Mo, 13.10.2008Microsoft Entwicklungen
Mi, 08.10.2008Hyper-V Server
Top Referers
www.google.de (24)
search.live.com (4)
bernd.eckenfels.net (2)
ralfeisend.blog.de (2)
www.google.ch (2)
blog.micha.de (1)
de.ask.com (1)
www.google.at (1)
search.live.com (4)
bernd.eckenfels.net (2)
ralfeisend.blog.de (2)
www.google.ch (2)
blog.micha.de (1)
de.ask.com (1)
www.google.at (1)
