Wer misst, misst Mist ... (oder der 1000ste FreeBSD 4 vs. 5 Benchmark)

Björn König

Well-Known Member
... und so dachte ich mir, dann machst du ein paar Messungen. Also mal eben ein bissl Platz auf der Platte gemacht und auf zwei jeweils 8 GB großen Slices FreeBSD installiert. Einmal 4.10-RELEASE und 5.3-BETA2. Beide schön per CVSup auf den neuesten Stand gebracht. Kernel angepasst bzw. radikal abgespeckt. Das ganze Debug-Krempelzeugs bei 5.3 rausgehauen; sogar malloc.conf auf aj zeigen lassen. Ich schwöre, bis auf 6 Zeilen waren die Kernelkonfigurationen von 4.10 und 5.3 identisch; ich habe bei 5.3 auch extra SCHED_4BSD verwendet, da ich nur 'nen Pentium 3 habe und der neue besonders auf SMP-Rechner ausgelegt sein soll; außerdem wird's so fairer ;-) ... schnell noch neue Welt gebaut; und dann kann es nach stundenlanger Herumkompiliererei auch schon losgehen.

Als erstes widmete ich mich dem bonnie-Benchmark und den Auftakt macht 5.3-BETA2:

zeichenweises Schreiben: 13,48 MB/s (bei 31,5% CPU)
blockweises Schreiben: 13,45 MB/s (bei 12,0%)
zeichenweises Lesen: 25,95 MB/s (bei 55,0%)
blockweises Lesen: 26,66 MB/s (bei 9,7%)

Erster Gedanke: Mmh. Ich dachte immer meine Platte sei schneller.

Da fällt mir ein, ich befinde mich ja ganz hinten auf der Platte, wo der Durchsatz generell immer geringer ausfällt. Und desweiteren liegt meine 4.10-Installation ganz vorne auf der Platte; das kann gar nicht gut gehen. Also jage ich noch einen Benchmark auf der /usr-Partition von 4.10 hinterher:

zeichenweises Schreiben: 13,78 MB/s (bei 32,7% CPU)
blockweises Schreiben: 13,97 MB/s (bei 12,8%)
zeichenweises Lesen: 18,71 MB/s (bei 40,2%)
blockweises Lesen: 37,44 MB/s (bei 14,8%)

Erster Gedanke: Öh?

Also viel schneller geschrieben hat er nicht. Aber seltsamerweise ist so eine starke Abweichung nach unten beim zeichenweisen Lesen und nach oben beim blockweisen Lesen. Auch noch nach einem zweiten hinterher ändert sich an den Werten nichts. -- Ach, na klar. Das erste war UFS2 und das zweite UFS. Es wäre jetzt interessant zu wissen, wie der Benchmark ausginge, wenn die Partitionen sich an der gleiche Stelle auf der Platte befinden würde. Eine weitere Wertung spare ich mir mal an dieser Stelle; aber bevor ich 4.10 lade und ich dort weitermesse, prüfe ich noch mal die erste Messung auf der UFS2-Partition; -- doch keine Veränderung.

--- Neustart ---

Angekommen in 4.10 und bonnie gestartet:

zeichenweises Schreiben: 37,29 MB/s (bei 75,7% CPU)
blockweises Schreiben: 36,91 MB/s (bei 28,7%)
zeichenweises Lesen: 38,53 MB/s (bei 80,4%)
blockweises Lesen: 37,45 MB/s (bei 10,9%)

Erster Gedanke: Öh!!

Fazit: Wie kann man bei 5.3 den Debug-Modus vom ATA-Treiber abschalten?

--

Nun gut. Lasse ich das. Mit Festplatten sollte man momentan besser nicht benchmarken, aber es gibt ja noch ubench.

CPU: 56983
Mem: 46181

und weils so schön ist nochmal

CPU: 56986
Mem: 46080

und Neustart

----

Wieder in 5.3:

CPU: 59431
Mem: 47831

och numret två

CPU: 59503
Mem: 47739

Soso. Sieht ja schon mal leicht besser aus. Ich vergaß zu erwähnen, dass ich unter 4.10 ubench mit gcc-3.4.0 und unter 5.3 mit gcc-3.4.2 kompiliert habe. An dieser Stelle wird mir nochmal ganz bewusst, dass die 4.10er Welt und Kernel sich ja nur mit dem 2.95.4er bauen lässt. Die Lust für CPU-Benchmarks schwindet ... -- aber weil ubench so synthetisch ist, denke ich mir machste mal noch was praktisches; also was bietet sich da besser an als povray.

# cd /usr/ports/graphics/povray
make install clean

--- warten --- warten --- gmake --- och nö --- warten --- libtiff --- ... --- warten --- och was jetzt fängt er mit XFree86-libraries an?

Strg+C
^C

--------------------

Dieser Benchmark entstand durch die freundliche Unterstützung von:

Abwasch in der Küche
und
Staub auf dem Schrank
(ohne die beiden wären die Benchmarks doppelt so langweilig gewesen)


Gruß Björn

P.S.: selbst wenn 5.3-STABLE langsamer als 4.10 sein sollte, werde ich auf Version 5 wechseln, denn ich finde die neuen Features sowie die vielen technischen Verbesserungen (init-Skripte, devfs, MAC, GEOM, usw.) wären meiner Meinung einen Geschwindigkeitsverlust wert.
 
Björn König schrieb:
Ich schwöre, bis auf 6 Zeilen waren die Kernelkonfigurationen von 4.10 und 5.3 identisch; ich habe bei 5.3 auch extra SCHED_4BSD verwendet, da ich nur 'nen Pentium 3 habe und der neue besonders auf SMP-Rechner ausgelegt sein soll; außerdem wird's so fairer ;-)
Nicht unbedingt; vielleicht auch grade deshalb nicht. SCHED_4BSD wird in der Entwicklung jetzt weniger berücksichtigt. Es wäre interessant, diese Tests mit SCHED_ULE durchzuführen.

Björn König schrieb:
zeichenweises Schreiben: 13,48 MB/s (bei 31,5% CPU)
blockweises Schreiben: 13,45 MB/s (bei 12,0%)
zeichenweises Lesen: 25,95 MB/s (bei 55,0%)
blockweises Lesen: 26,66 MB/s (bei 9,7%)
Das ist jetzt interessant, solche Werte krieg ich mit einem etwas älteren 5-CURRENT und SCHED_ULE nämlich schon bei Operationen auf FAT (2,67 GHz, 1 GB RAM, 7200 rpm) sogar, wenn ich von einer Platte am selben Bus kopiere. Kannst du mal dein System posten?

Björn König schrieb:
Dieser Benchmark entstand durch die freundliche Unterstützung von:

Abwasch in der Küche
und
Staub auf dem Schrank
(ohne die beiden wären die Benchmarks doppelt so langweilig gewesen)
Sehr cool :) Muss ich mir merken.


__Solid_Snake
 
Eigentlich habe ich mein System absichtlich nicht genannt, weil das hier kein richtiger Benchmark ist. Ich wollte nur zeigen, dass wirklich gute Messungen auch erfordern, dass man peinlichst genau auf jedes Detail achten müsste und dass es unheimlich viel Zeit verschlingt. In dem Zustand, wo FreeBSD 5.3 jetzt ist, sind Vergleiche schlichtweg unmöglich; zumal man immer bedenken muss, dass sich das System auf aktueller Hardware wieder ganz anders verhalten kann als auf meiner schon etwas angestaubten.

Das System:

Asus TUSL2-C (Intel i815EP)
Intel Pentium III 1133 MHz (Tualatin)
Seagate ST380021A an ICH2-Controller (onboard)
512 MB SD-RAM

Gruß Björn
 
.align64 schrieb:
Nicht unbedingt; vielleicht auch grade deshalb nicht. SCHED_4BSD wird in der Entwicklung jetzt weniger berücksichtigt. Es wäre interessant, diese Tests mit SCHED_ULE durchzuführen.
Google offenbart schon einige SCHED_ULE/SCHED_4BSD-Benchmarks. Ich habe schon verschiedene gesehen, wo Tests mit Xeon-CPUs durchgeführt worden sind und wo SCHED_ULE meist leicht besser abgeschnitten hat. Bei klassischen Tests sollte eigentlich SCHED_4BSD punkten. Sobald ich mal ein wenig Zeit habe (d.h. wenn sich wieder genug Abwasch in der Küche angesammelt hat), werde ich das nachholen.

Björn
 
Zurück
Oben