Am Dienstag, 2. Januar 2007 20:42 schrieb Klaus Klein:
> Chris Ruehl wrote:
> > Nur Swap um Gottes willen nicht auf ein LVM packen das wäre fatal , denn
> > ein LVM verteilt die Daten
> > auf den Medien und das ist bei zusammen hängendem Speicher schlecht und
> > reduziert nochmal
> > die Leistung.
>
> Phui, da hab ich ja gerade nochmal Glück gehabt das ich das gelesen habe.

Ich würde es nicht so pauschalisieren ;-) Das Thema ist recht kompliziert und 
wer sich an eine endgültige Beurteilung eines solchen Szenarios wagen möchte, 
sollte sich zumindest wirklich gut mit der zugrundeliegenden Thematik 
auskennen.

> Ich dachte nämlich immer das Stripping (das über mehrere Platten
> verteilte schreiben/lesen von Dateien [aka Raid0]) einen
> Geschwindigkeitsvorteil (bessere Leistung) bringt.

So einfach ist es eben nicht unbedingt. Striping bedeutet, dass 
aufeinanderfolgende Blöcke (auf den Arbeitsspeicher übertragen sind das dann 
wohl am ehesten Pages) auf unterschiedlichen physikalischen Medien befinden. 
Der entscheidende Vorteil dieser Technik kommt zum Tragen, wenn eine Datei 
sequentiell in den Arbeitsspeicher gelesen wird. Bei diesem Vorgang wird 
jeder einzelne Block gelesen und an eine bestimmte Stelle in den 
Arbeitsspeicher geschrieben. Da aber die meisten Komponenten eines Computers 
Daten viel schneller übertragen können, als selbst die schnellsten 
Festplatten, warten logischerweise während der Übertragung alle diese 
Komponenten auf die Daten von der Festplatte. Legt man jetzt aber die 
einzelnen Blöcke auf unterschiedliche Medien und ist die 
Read-Ahead-Funktionalität richtig konfiguriert, kann man eben mehrere Blöcke 
gleichzeitig laden. Selbst mit vielen Festplatten erreicht man so kaum die 
Geschwindigkeit des Arbeitsspeichers, kann jedoch bei einer genügenden Anzahl 
von Festplatten die Durchsatzrate erheblich steigern. Diese Steigerung liegt 
im Regelfall bei nahezu 100%, was das Striping gerade für große Dateien recht 
interessant macht. Ein Problem ist aber auch hier der Overhead. Der fällt im 
Vergleich zur Performancesteigerung zwar recht gering aus, aber es gibt eben 
auch Fälle, in denen es nicht möglich ist, mehrere Blöcke parallel zu lesen. 
Eben dieser Fall ist bei Swap gegeben: Arbeitsspeicher wird in der Regel 
nicht in zusammenhängenden Clustern benötigt, sondern meistens nur einzelne 
Pages. Und das entspricht dem Laden eines einzelnen Blocks von der 
Festplatte. Da dieser Vorgang nicht parallelisierbar ist, gibt es natürlich 
auch keine Performance-Steigerung. Einen ähnlichen Fall gibt es bei sehr 
kleinen Dateien. Natürlich könnte man nun die Blockgröße des Dateisystems auf 
einen kleineren Wert konfigurieren. Das bringt allerdings wegen der Seektime 
der Festplatte nicht besonders viel.

Die Abwägung zwischen Striping oder nicht ist also wirklich nicht ganz trivial 
und definitiv nicht allgemein entscheidbar ;-)

So ich hoffe, dass ich in meinem kleinen Aufsatz nicht so viele Fehler habe 
und das ich nicht allzuviele Leute gelangweilt habe ;->

> Wo ist da eigentlich der Unterschied zwischen zusammenhängendem Speicher
> und Dateien?

Hauptsächlich in der Blockgröße und der Zugriffsmethode.

Max


-- 
Max Trense -- [EMAIL PROTECTED] -- www.trense.info
--
----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Antwort per Email an