Festplattengeschwindigkeit testen

Hallo zusammen,

ich würde gerne die Festplattengeschwindigkeit durch kopieren einer Datei testen.
Wie mach ich das (Befehl/Programm)?

Gruß
h.

Hi,

haste die Datei schon? Sonst ggf mit erzeugen.

>time cp Dateiname1 Dateiname2

Hy,

haste die Datei schon? Sonst ggf mit
erzeugen.

>time cp Dateiname1 Dateiname2

Hallo H.,

Hmm, hört und liest sich schonmal gut. Nur hätte ich lieber
sowas wie „die Lesegeschwindigkeit der Festplatte ist xxx /
die Schreibgeschwindigkeit ist yyy“…

Wie wäre es mit

time dd if=/dev/zero of=datei bs=1M count=10240

und

time cat if=datei of=/dev/zero

Beim ersten Befehl misst Du die Zeit für die Erstellung einer 10GB grossen Datei, beim zweiten die Zeit für das Auslesen eben dieser.
Die Berechnung der Schreib- und Lesegeschwindigkeit aufgrund der gemessenen Zeit bleibt dem geneigten Leser überlassen.

Puersti

Hallo H.,

Hmm, hört und liest sich schonmal gut. Nur hätte ich lieber
sowas wie „die Lesegeschwindigkeit der Festplatte ist xxx /
die Schreibgeschwindigkeit ist yyy“…

Wie wäre es mit

time dd if=/dev/zero of=datei bs=1M count=10240

Host:~ # time dd if=/dev/zero of=datei1 bs=1M count=20
20+0 records in
20+0 records out
20971520 bytes (21 MB) copied, 0.038278 seconds, 548 MB/s

real 0m0.332s
user 0m0.004s
sys 0m0.236s

Ok, klappt. Wie kann ich nun die zeile „20971520 bytes (21 MB) copied, 0.038278 seconds, 548 MB/s“ so extrahieren, das ich die per Script übergeben könnte…?

und

time cat if=datei of=/dev/zero

Host:~ # time cat datei1 of=/dev/zero
cat: of=/dev/zero: No such file or directory

real 0m13.077s
user 0m0.016s
sys 0m0.100s

Host:~ # time cat datei1

real 0m13.077s
user 0m0.008s
sys 0m0.080s

Wie kann ich hier die letzte Zeile „übernehmen“?

Ok, hiesse, das die Datei in wenigen Millisekunden erstellt und in ca. 13 Sekunden gelesen würde, richtig?

Gruß
h.

Beim ersten Befehl misst Du die Zeit für die Erstellung einer
10GB grossen Datei, beim zweiten die Zeit für das Auslesen
eben dieser.
Die Berechnung der Schreib- und Lesegeschwindigkeit aufgrund
der gemessenen Zeit bleibt dem geneigten Leser überlassen.

Puersti

Rückfrage
Hallo,

ich würde gerne die Festplattengeschwindigkeit

wozu genau? Vergleich zweier Platten? Vergleich zweier PC-Systeme? Vergleich zweier Dateisysteme? Vergleich zweier Linuxversionen? Vergleich Plattengeschwindigkeit innen/außen? Vergleich Schreib- / Lesegeschwindigkeit große/kleine Datei? Vergleich leiser / schneller Festplattenmodus?

durch kopieren einer Datei testen.

Nur einer Datei? Wenn Du mal in die Liste oben schaust, siehst Du, was für Einflüsse es auf die Geschwindigkeit unter anderem gibt. Eine Datei zu schreiben und danach sofort wieder zu lesen ist völlig sinnbefreit. Das siehst Du auch nach Deinen Beobachtungen im anderen Teilthread. Hast Du z.B. den Cache von Festplatte und Betriebssystem geleert?

Gruß
loderunner

Hy,

ich würde gerne die Festplattengeschwindigkeit

wozu genau? Vergleich zweier Platten? Vergleich zweier
PC-Systeme? Vergleich zweier Dateisysteme? Vergleich zweier
Linuxversionen? Vergleich Plattengeschwindigkeit innen/außen?
Vergleich Schreib- / Lesegeschwindigkeit große/kleine Datei?
Vergleich leiser / schneller Festplattenmodus?

Sorry, so genau brauch ichs garnicht. Ich möchte nur eine relative Aussage darüber haben. Wie weiter unten schon beschrieben. Eine Datei X wird einmal auf der Festplatte geschrieben und danach von dieser festplatte gelesen. Was sidn die entsprechenden Zeiten dazu…

durch kopieren einer Datei testen.

Nur einer Datei? Wenn Du mal in die Liste oben schaust, siehst
Du, was für Einflüsse es auf die Geschwindigkeit unter anderem
gibt. Eine Datei zu schreiben und danach sofort wieder zu
lesen ist völlig sinnbefreit. Das siehst Du auch nach Deinen
Beobachtungen im anderen Teilthread. Hast Du z.B. den Cache
von Festplatte und Betriebssystem geleert?

Nein. Sah ich bisher keine Veranlassung.
Wie würde Deine „Abhilfe“ des ganzen lauten?

Gruß
h.

Hi auch,

Wie würde Deine „Abhilfe“ des ganzen lauten?

Löst zwar nicht dein Problem mit Schreib/Lesegeschwindigkeit, zeigt dafür aber schön den Einfluß des Caches und ist ein gutes Maß für die Geschwindigkeit der Festplatte:

hdparm -tT /dev/hda

Gruß

Stefan

Hallo,

ich würde gerne die Festplattengeschwindigkeit durch kopieren
einer Datei testen.
Wie mach ich das (Befehl/Programm)?

Wie wäre es denn mit einer fertigen Lösung für das Problem? Es gibt diverse Tools, z.B.

http://www.iozone.org/

Gruß

Fritze

Hallo zusammen,

Hallo,

ich würde gerne die Festplattengeschwindigkeit durch kopieren
einer Datei testen.

Das mit der Datei kapier ich nicht, aber ich messe sowas immer aus dem dritten Stock und stoppe die Zeit bis zum Aufprall.

Wie mach ich das (Befehl/Programm)?

Vergiss den Quark mit kopieren, das ist sequential I/O und absolut nicht aussagekraeftig. Fuer einen Quicktest willst Du hdparm -t verwenden, fuer einen halbwegs sinnvollen Test mit random I/O bonnie++. Bei letzterem liegt noch die Performance vom Dateisystem dazwischen, fuer den Vergleich von Hardware nimmst Du also immer das gleiche. bonnie++ gibt seinen Kram artig per CSV auf stdout zzgl. Geplapper auf stderr aus, das kannst Du mit einer Skriptsprache Deiner Wahl schoen auseinandernehmen.

Gruss vom Frank.

Hallo H.,

Host:~ # time dd if=/dev/zero of=datei1 bs=1M count=20
20+0 records in
20+0 records out
20971520 bytes (21 MB) copied, 0.038278 seconds, 548 MB/s

real 0m0.332s
user 0m0.004s
sys 0m0.236s

Ok, klappt. Wie kann ich nun die zeile „20971520 bytes (21
MB) copied, 0.038278 seconds, 548 MB/s“
so extrahieren,
das ich die per Script übergeben könnte…?

ACHTUNG Interessant sind fuer Dich die 0.332 s, d.h. 60,24 MB/s. Extrahieren koenntest Du z.B. mit grep und sed.

und

time cat if=datei of=/dev/zero

Host:~ # time cat datei1 of=/dev/zero
cat: of=/dev/zero: No such file or directory

real 0m13.077s
user 0m0.016s
sys 0m0.100s

Sorry, da waren meine Finger schneller als mein Gehirn :frowning:
Gemeint war

time dd if=datei of=/dev/null

Ok, hiesse, das die Datei in wenigen Millisekunden erstellt
und in ca. 13 Sekunden gelesen würde, richtig?

cat macht ein bisschen mehr als lesen. Daher verwendest Du besser meine korrigierte Version.

Puersti

Hallo loderunner,

Eine Datei zu schreiben und danach sofort wieder zu
lesen ist völlig sinnbefreit. Das siehst Du auch nach Deinen
Beobachtungen im anderen Teilthread. Hast Du z.B. den Cache
von Festplatte und Betriebssystem geleert?

Deshalb mein Vorschlag mit der 10GB-Datei. Da kann man den Einfluss der Caches i.d.R. vergessen.

Puersti

Hallo,

das
kannst Du mit einer Skriptsprache Deiner Wahl schoen
auseinandernehmen.

Oder man nimmt das bereits fertige bon_csv2html und erhält sowas wie http://templeofhate.com/~niehaus/hardware/maschines/…

(Ja und jetzt bitte keine Sprüche zu der Performance …)

Sebastian

Hy,

Wie mach ich das (Befehl/Programm)?

Vergiss den Quark mit kopieren, das ist sequential I/O und
absolut nicht aussagekraeftig. Fuer einen Quicktest willst Du
hdparm -t verwenden,

Stimmt. Das wars.
Danke auch an den anderen Kollegen weiter unten, der „fast“ dasselbe aufgeschrieben hat.
Das reicht erstmal vollkommen aus :wink:

Gruß
h.