Ich versuche, mein NAS zu optimieren, OpenFiler auszuführen und frage mich, warum ich von 4 WD RE3-Laufwerken in RAID 5 eine relativ schlechte Leseleistung erhalte.
BEARBEITEN: Bitte beachten Sie, dass es sich um die gepufferte Lesegeschwindigkeit handelt, nicht um die zwischengespeicherte Geschwindigkeit
BEARBEITEN: Die Formatierung wurde geändert, um zu verdeutlichen, dass zwei Ausgabesätze vorhanden sind.
Wenn ich hdparm auf dem Meta-Gerät ausführe, erhalte ich die erwartete Leistung, gehe auf die Lautstärke und es ist ein Drittel der Geschwindigkeit!
Hat jemand eine Idee warum? Ist LVM so schlecht?
Dean
Meta device / dev / md0 Ergebnisse
[root @ nas2 etc] # hdparm -tT / dev / md0 / dev / md0: Timing zwischengespeicherte Lesevorgänge: 4636 MB in 2,00 Sekunden = 2318,96 MB / s Timing gepufferte Festplatten lesen: 524 MB in 3,01 Sekunden = 174,04 MB / s
Vol group / dev / mapper / vg1-vol1 Ergebnisse
[root @ nas2 etc] # hdparm -tT / dev / mapper / vg1-vol1 / dev / mapper / vg1-vol1: Zwischengespeicherte Timing-Lesevorgänge: 4640 MB in 2,00 Sekunden = 2320,28 MB / s Timing gepufferte Festplattenlesevorgänge: 200 MB in 3,01 Sekunden = 66,43 MB / s
Bearbeiten: Siehe Abschnitt auf der hdparm-Manpage, in dem darauf hingewiesen wird, dass dies ein absolut gültiger Test für die sequentielle Leseleistung ist. Dies ist das Problem, das ich zu lösen versuche.
-t Führen Sie Timings von Gerätelesungen zu Benchmark- und Vergleichszwecken durch. Für aussagekräftige Ergebnisse sollte dieser Vorgang an anderer Stelle 2-3 Mal wiederholt werden inaktives System (keine anderen aktiven Prozesse) mit mindestens ein paar Megabyte freiem Speicher. Dies zeigt die Geschwindigkeit des Lesens durch den Puffer an Cache auf der Festplatte ohne vorheriges Zwischenspeichern von Daten. Diese Messung gibt an, wie schnell das Laufwerk sequentielle Datenlesevorgänge ausführen kann Linux ohne Dateisystem-Overhead. Um genaue Messungen sicherzustellen, wird der Puffercache während der Verarbeitung von -t mit dem BLKFLSBUF geleert ioctl. Wenn auch das -T-Flag angegeben ist, wird ein Korrekturfaktor, der auf dem Ergebnis von -T basiert, in das für -t gemeldete Ergebnis einbezogen Betrieb.
quelle
bonnie++
?Antworten:
Die Standardeinstellungen für Readahead für LVM sind sehr pessimistisch. Versuchen
blockdev --setra 8192 /dev/vg1/vol1
Sie herauszufinden, was Ihre LVM-Leistung beeinträchtigt. Mit LVM erzielen Sie immer einen Leistungseinbruch. Wir messen es auf ordnungsgemäß konfigurierten Systemen bei etwa 10% der zugrunde liegenden Blockgeräteleistung.quelle
Ich habe keine gute Erklärung, aber ich kann die Ergebnisse bestätigen.
Testen von RAID (raid5, 4x1.5TB Laufwerke)
Test des Volumens, das md2 als physisches Gerät verwendet.
Ich habe die von womble vorgeschlagene Änderung vorgenommen und solche Ergebnisse gesehen.
quelle
Stellen Sie sicher, dass Sie Äpfel mit Äpfeln vergleichen.
hdparm -t
Liest vom Anfang des Geräts, das auch der schnellste Teil Ihrer Festplatte ist, wenn Sie ihm eine ganze Festplatte geben (und es dreht sich Platten).Stellen Sie sicher, dass Sie es mit einem LV vom Anfang der Festplatte vergleichen.
Um das Mapping zu sehen, verwenden Sie
pvdisplay -m
.(Okay, zugegeben, der Unterschied in der Anzahl kann vernachlässigbar sein. Aber denken Sie wenigstens darüber nach :)
quelle
Die von hdparm -T erstellte Arbeitslast ist für fast jeden Anwendungsfall nicht repräsentativ, außer für das Streaming von Lesevorgängen aus einer einzelnen großen Datei. Wenn die Leistung ein Problem darstellt, verwenden Sie raid5 nicht.
quelle
Sie können herausfinden, wo hdparm seine Zeit mit blktrace (wenn es sich um E / A handelt) oder oprofile (wenn es sich um eine CPU handelt) verbringt. Es würde auch helfen, das LVM-Setup zu kennen (pvdisplay, vgdisplay, lvdisplay).
quelle