Re: Performance von dd/gzip uebers Netz- Klonen von Servern

From: Harald Klatte <klatte(at)hrz.uni-kassel.de>
Date: Mon, 23 Feb 2004 11:18:33 +0100 (CET)

On Mon, 23 Feb 2004, Peter Wullinger wrote:

> On Sun, Feb 22, 2004 at 06:51:59PM +0100, Olaf Hoyer wrote:
> >
> > -- snip --
> >
> > dd if=/dev/hda bs=1M | ssh ohoyer(at)andereMaschine "gzip > /data/image.gz"
>
> Du hast hier zwei Bremser, die allein auf Rechenzeit basieren:
>
> Das eine ist die SSH, die ziemlich viel CPU Leistung verbrät.
>
> Versuch dich vielleicht mal mit
>
> % ssh -o"Ciphers=blowfish-cbc" -o"MACs=hmac-md5-96"
>
> Eventuell bringt das noch ein wenig Performance zusätzlich.
>
> Ansonsten würde ich in dem speziellen Fall eventuell auf rsh
> (ja, ich weiß) umsteigen. Ist einfach schneller, da die
> Verschlüsselung wegfällt.
>
> Das andere ist der gzip, der hier implizit als "gzip -9" läuft.
> Der nimmt dir auf dem Zielrechner noch zusätzlich Rechenzeit mit weg.
> Vielleicht hilft da ein "gzip -6".
>
> >
> >
> > Das Ganze sieht soweit recht gut aus, die Daten laufen ein, aber mit
> > einer Geschwindigkeit von ca. 100-300 kbytes/sec.
> > Beide Maschinen sind P4, Netzwerk ist 100 Mbit fullduplex, an beiden
> > Seiten ueberprueft.
>
> Ein reiner scp von einem Rechner auf dem anderen (P2, 400 Mhz)
> schafft hier etwa 2.0 MB/s.
>
> Kopier ich mir deine Kommandozeile und probiere es damit, geht das
> Ganze etwa auf 1.0 MB/s runter. Ich habe allerdings andere Daten
> (.avi-Datei) die eventuell den notwendigen Kompressionsaufwand ändern.
>

Ich benutze hier seit Jahren die gleiche Mimik.
Scriptschnipsel:

for PART in ${PARTITIONEN}
        do
                echo ${PART}
                ${RSH} ${HOST} "dd bs=${BS} if=/dev/${PART} | \
                        gzip -c9 | dd bs=${BS} " | dd bs=${BS} of=${PART}.gz
        done

Wobei RSH openssh mit cypher=blowfish, BS=256k und die Clients, auf denen
das ursprünglich lief, PIII/350MHz waren. Übertragungszeit für eine 9GB
Partition sind bei den alten Rechnern so ca. 30-50 Minuten.

1) Was gzip schon an Volumen reduziert hat braucht ssh nicht zu crypten.

2) Die Übertragungszeiten variieren natürlich stark mit dem Inhalt der
   Partitionen, was sicher mit dem unterschiedlichen Kompressionsaufwand
   erklärbar ist. Andererseits hat doch so ein P4 im Gegensatz zu den
   alten PIII Rechenleistung satt.

3) Die 3! dds in der Pipe, und damit verbundene Zwischenpufferung,
   haben sich als vorteilhaft erwiesen.

4) Das Optimieren der Blockgrößen macht viel Sinn, speziell bei den Platten-
   zugriffen. Die Blockgröße sollte mindestens zweimal in den verfügbaren
   Lesepuffer auf der Platte selbst passen.
   time dd bs=${BS} if=/dev/${PART} of=/dev/null
   mit verschiedenen Blockgrößen gibt Aufschluß. Zu große Blockgrößen bremsen.
   Die Platten hier sind verschiedene SCSI- und IDE-Modelle mit minimal
   1MB Cache (meistens dann abzüglich etlicher kB, die von der laufenden
   Firmware belegt sind, für Daten also nicht nutzbar sind).

5) Wie sieht der ungecryptete Durchsatz auf dem Netz aus (ftp, rcp) ?

Vielleicht helfen Euch ja diese Anregungen ein bisschen weiter.

Grüße

Harald

-- 
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 23 Feb 2004 - 11:27:15 CET

search this site