na da werden ja auch keine random daten verarbeitet... ausserdem spielst du dort mit einem 128mb file. für eine bessere (der realität entsprechende) aussage solltest du mit "dd" arbeiten und als input /dev/urandom nutzen.
das tool das du nutzt ist nicht viel mehr als ein spielzeug. allerdings bekommt man keine profi tools für umsonst. daher der tip mit dd.
gehen wir mal nach dem vor was bei wd auf der seite an technischen daten aufgeführt ist. die zugriffszeit ist mit 4,2ms angegeben. 1 sekunde = 1000ms. um auf 2 nacheinanderliegende blöcke zuzugreiffen braucht man also 4,2ms + der spursuchzeit von 0,7ms = 4,9ms. ich mache da mal zum besseren rechnen 5ms draus, ok?
also 1000/5 = 200 io pro sekunde!
io ist das was bei platten entscheident ist (PUNKT).
du hast also im günstigsten fall 200 mal lesen/oder schreiben pro sekunde. jetzt müssen wir noch wissen was wir schreiben oder lesen. beim mac ist das ja von oder auf ein hfs+ filesystem. nach
diesem artikel ist die blockgröße 16kb bei hfs+. also kann man 200*16kb pro sekunde lesen oder schreiben. das sind REINE schreib oder leseleistung auf die platte (ungechached) nur mickerige 3mb/s.
jetzt kommt allerdings das ganze drumherum zum einsatz. eine platte kann pro io operation 512k verarbeiten. da wird also durch den cache und die logik des betriebssystems gesammelt und daten werden in grösseren chunks an die platte gegeben. mit 200 iops und 512k blocksize kommen wir dann fix auf die auch von dir gemessenen werte (wir hatten ja vorhin ein wenig gerundet).
200*512k = 100mb/s
klingt schon besser, oder? allerdings gibt es jetzt noch eine größe die man beachten muss. nämlich die suchzeit. die ist bei wd mit durchschnittlich 4,7ms angegeben.
im oberen beispiel sind wir davon ausgegangen das die daten die wir lesen immer schön block an block liegen. das ist in der freien wildbahn aber nun mal so gut wie nie der fall! zu den 5ms kommen jetzt also nochmal 4,7ms dazu... macht 9,7ms und wenn wir schonmal zum besseren rechnen gerundet haben, machen wir doch gleich 10ms daraus, was hoffentlich für dich ok ist?
also:
1000/10 = 100 io pro sekunde.
den rest kann sich jetzt sicherlich jeder selber ausrechnen...