Re: gmirror und Datendurchsatz

From: Bernd Walter <ticso(at)cicely12.cicely.de>
Date: Wed, 26 Jan 2005 11:57:16 +0100

On Wed, Jan 26, 2005 at 11:28:07AM +0100, listen(at)danielgraupner.de wrote:
>
> Hallöle,
>
> ich betreibe jetz schon ein paar Monate einen Filesystem-Mirror mit
> geom_mirror im Produktiveinsatz, klappt alles gut. Folgendes ist mir
> aufgefallen:
>
> Beim anlegen des mirrors kann man für die Lesemethode z.B. round-robin
> wählen, dadurch wird abwechselnd von beiden Platten gelesen, was ja
> eine gute Leseperformance bringt (vinum macht das nicht).

Natürlich macht Vinum das:
Volume usr: Size: 2147483648 bytes (2048 MB)
                State: up
                Flags: open
                2 plexes
                Read policy: round robin

Ob das gute Performance bringt ist aber durchaus Anwendungsbezogen in
Frage zu stellen, da bei linearem lesen die bisherige Platte Daten
bereits im Preread Cache haben könnte oder zumindest den Kopf bereits
in der Nähe der Daten hat, während die andere Platte länger braucht.
Es kann durchaus erheblich schneller sein nur von einer Platte zu lesen.
Und unempfindlicher gegenüber Synronitätsverlust ist das auch.

> Nun gibt es ja seit FBSD 5.3 das nette Tool gstat um die "Last" der
> Platten in top-Manier anzeigen zu lassen. Wenn ich mal eine extremen
> Lesetest starte dann bekomme ich in der Anzeige für /dev/mirror/data
> (der Spiegel) eine nahezu hundertprozentige Auslastung. Das ist nicht
> weiter bemerkenswert, allerdings liegt die Einzelauslastung der Platten
> im Spiegel nur bei 50% und steigt auch nicht mehr (da /dev/mirror/data
> ausgelastet ist).
>
> Nun ja, dadurch ist der Vorteil des RoundRobini Lesens ja zunichte
> gemacht, da es trotzdem bei der Geschwindigkeit einer Platte bleibt.
> Ich kann mir nicht genau vorstellen wo hier der Flaschenhals liegen
> soll, bei er Implementation oder bei der Hardware ??? (ich nutze
> schnelldrehende SATA-Platten)

Wenn du nur einen Lesezugriff ausführst wirst du auch nur einen
gleichzeitig aktiv haben.
Etwas anderes wäre es, wenn du zwei Files gleichzeitig liest, weil dann
auch zwei Zugriffe gleichzeitig stattfinden können.
Ohne Platte mit Tagged Command Queueing und ausgeschaltetem Write Cache
wird auch die Platte Schreibzugriffe serialisieren.

-- 
B.Walter                   BWCT                http://www.bwct.de
bernd(at)bwct.de                                  info(at)bwct.de
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 26 Jan 2005 - 11:58:59 CET

search this site