SCSI-Performance mit DDRS-39130

otto

Member
Hallo!

Habe bei mir jetzt erstmals FreeBSD aufgesetzt und frage mich was mit der HDD-Performance los ist, ob das vielleicht ein Hardware- oder Softwareproblem ist.

OS: FreeBSD 5.2.1-RELEASE
Filesystem: UFS2+Softupdates
SCSI-Controller: Adaptec AHA-2940AU; Ultra-SCSI (20 MB/s)
Festplatte: IBM Ultrastar 9ES (DDRS-39130); 9.1 GB, 7200 rpm, Ultra-SCSI-Interface

Das Thema wurde zwar schon einmal (http://www.bsdforen.de/showthread.php?t=3868) behandelt, aber vielleicht hat ja doch wer eine Idee. IBM gibt die Festplattengeschwindigkeit mit einer "minimum sustained rate" von "8.4-13.4 MB/s" an. Bei Performance-Tests in meinem Rechner erreicht die Platte leider maximal die Hälfte dieser Angaben, aber seht selbst:

Bonnie:
-------Sequential Output-------- ---Sequential Input-- --Random--
-Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU
100 3130 96.6 5670 34.4 2213 14.6 3099 90.5 4912 17.5 217.2 9.2

dd:
65536000 bytes transferred in 25.981713 secs (2522389 bytes/sec)

Weiß vielleicht jemand woran das liegen könnte?
Ich kann mir, wie in obgenanntem Thread geschrieben, nur schwer vorstellen, daß die Hälfte der Kapazität für "SCSI-Overhead" draufgeht.

Über jeden (brauchbaren) Hinweis dankbar,
Otto.

Hier noch die Kernel-Meldungen:
ahc0: <Adaptec 2940A Ultra SCSI adapter> port 0xd400-0xd4ff mem 0xde800000-0xde800fff irq 11 at device 12.0 on pci0
cd0 at ahc0 bus 0 target 4 lun 0
da0 at ahc0 bus 0 target 0 lun 0

da0 at ahc0 bus 0 target 0 lun 0
da0: <IBM DDRS-39130 S97B> Fixed Direct Access SCSI-2 device
da0: 20.000MB/s transfers (20.000MHz, offset 15), Tagged Queueing Enabled
da0: 8715MB (17850000 512 byte sectors: 255H 63S/T 1111C)
 
Zuletzt bearbeitet:
Hallo Otto,

otto schrieb:
Hallo!
[Benchmark-Daten]

Ich verstehe Deine Enttäuschung angesichts der ermittelten Werte.
Aber:
  1. Du mußt das Zusammenspiel berücksichtigen. Benchmark-Werte von Festpletten werden bei so ziemlich allen Herstellern unter DOS gemacht. D.h. , dass nur EIN Task auf die Platte zugreift. Bei FreeBSD ist es aber so, dass mehrere Tasks (~= Prozesse) im System laufen, die alle Bustransfers auslösen - selbst im single-user-mode. Du kannst davon ausgehen, dass durch Multitasking IO-Performance verlohren geht. Der Grund ist einfach: vor jedem Taskwechsel müssen eine ganze Reihe von Registern, Bus-Stati, usw gesicht bzw. wieder hergstellt werden - das kostet Rechenzeit
  2. FreeBSD 5.2.1 enthält noch jede Menge Debug-Code, der zusätzlich abgearbeitet werden muß. Der Debug-Code ist auch in den Treibern enthalten!!!
  3. SCSI loht sich wirklich nur dann, wenn Du mehr als zwei Festplatten betreibst, ein CDROM und ein DVD-RAM am selben Bus hast. Hier wird dann mit jeden Gerät individuell eine maximal mögliche Geschwindigkeit ausgehandelt.
    Ich werde mal ein SCSI-Howto verfassen, das mit so einigen Märchen mal aufräumt:D

Zusammenfassung: Laß Dich von Werten - gerade unter FreeBSD 5.2.1 - nicht verwirren.

Grüße

Jürgen
 
Zuletzt bearbeitet von einem Moderator:
hmm.. so ganz kann ich die werte nich nachvollziehen.. und hier rennen fast nur SCSI-Platten, auch IBMs...

Zum einen isses richtig, das 5.2.1 nich optimal fuer's benchmarken is, allerdings is auch der 2940 fuer ne U160 platte nich das optimum.. ich hab mit meiner schnellsten SCSI-platte (Quantum Atlas) knapp 50MB/s erreicht, gemessen mit bonnie am 29160, freebsd 4.9, single mode....

die gefuehlte performance (locate.updatedb) is mit dragonfly noch hoeher als mit freebsd 4.10

nur meine 2 cent....
 
Nunja, so einfach ist es auch wieder nicht, denke ich. Ca. 60% Performanceunterschied zu den Herstellerangaben kann man nicht einfach auf Overhead und Software (selbst mit Debug-Code) schieben.
Seit ich jedenfalls den defekten Speicher ausgetauscht und von 128 auf 320 MB aufgerüstet habe (allerdings nur PC66) liefert mir Bonnie folgende Werte:

Code:
              -------Sequential Output-------- ---Sequential Input-- --Random--
              -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
Machine    MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU  /sec %CPU
          100  2535 49.5  7998 43.4  7787 40.6  2521 43.2 21570 41.0 3273.3 98.6


Das ist schon wesentlich realistischer. Jetzt passt es.
 
Zuletzt bearbeitet:
Ah, und pack den Bonnie Output doch in [ code ] tags.
Macht das ganze gleich viel leserlicher.
 
Zurück
Oben