Timo Lässer hat geschrieben:Sebastian Pfliegel hat geschrieben:Cache erhöhen und defragmentieren klingt aber vernünftig.
Vorsicht! Die Defragmentierung der NAV-Datenbank kann sogar zu erheblichen Performance-EinbuĂźen fĂĽhren, wenn die Datenbank bereits ĂĽber mehrere Festplatten verteilt liegt.
(Dabei ist es egal, ob mittels Defrag.exe oder innerhalb von NAV ĂĽber Datei -> Datenbank -> Information -> Tabellen -> Optimieren)
Im Laufe der Zeit hat NAV die Daten wild über alle Festplatten (auf welche die DB aufgeteilt ist) verteilt, so dass die Datenzugriffe mittels mehrerer Schreib-/Leseköpfe gleichzeitig erfolgen kann.
Durch die Defragmentierung werden diese Daten wieder hintereinander geschrieben, so dass nicht mehr mehrere Köpfe gleichzeitig lesen können.
Beispiel:
Datenbank ist auf drei Festplatten verteilt.
Die Daten von Verkaufskopf und Verkaufszeile liegen über alle 3 Festplatten verstreut, somit können die Leseköpfe aller drei Platten parallel arbeiten.
Wird die Datenbank nun defragmentiert, so liegen die Daten der beiden genannten Tabellen nur noch auf der ersten Festplatte, wodurch die Leseköpfe der Platten 2 und 3 nicht helfen können.
In diesem Fall sinkt die Performance auf bis zu 1/3 der vorherigen Leistung!
Also die Optimierungsfunktion in NAV und defrag.exe sind doch 2 paar Schuhe. Während sich die Optimierungsfunktion alle DB-Teile gleichzeitig anguckt ist defrag.exe pro Laufwerk anzuwenden.
Der Unterschied ist aber bei beiden Funktionen doch wie "optimiert" wird. Defrag fĂĽgt doch nur verstreute Sektoren einer Datei zusammen, um dann eine Datei "am StĂĽck" zu haben. Dabei ist es dem Programm doch egal ob da in dem Speicher eine 0 oder 1 gespeichert ist. Das System sieht nur "50 GB fdb Datei". Was dadrin vorgeht oder wie die Daten in der fdb dort aufgeteilt sind, oder wieviel von dem verbrauchten Speicher von der DB wirklich aktiv benutzt wird, ist defrag doch egal.
Ob defrag nun Vorteil oder Nachteil in der Performance bringt, hängt wohl hauptsächlich damit zusammen, wie stark die Datei an sich fragmentiert ist.
Stark fragmentierte fdbs sollten nach einem defrag performanter sein, da die Leseköpfe nicht 3000 mal springen müssen um eine einzelne Sales Line zu laden bzw. zu speichern.
Da es aber scheinbar dediziierte Partitionen fĂĽr die fdbs sind, ist die Fragmentierung eher gering. Ich kann mir auch nicht vorstellen, dass dies das Problem ist.