Declared average latency for desktop hard drives (see
http://www.seagate.com/docs/pdf/datasheet/disc/ds_barracuda_7200_12.pdf) is
latency is average time to wait until data will be below head. it's by
average half on single rotation. for 7200 rpm drive it's 120rps so half
rotation takes 1/240 second=about 4ms.
But to perform I/O you have to
- send a request to disk (<1ms)
- move head - depends of distance, up to 20-30ms, 8-10ms average on most
drives
- wait for latency - 4ms average.
you end in 13-15ms average.
in case of multiple parallel accesses - drive accept writes immediatelly,
and can accept multiple reads if it can NCQ/TCQ, then it internally sort
request queue to minimize required head moves and rotational waiting, so
under high load you may go to 6-7ms/request which is about 150IOPS.
Of course i'm talking about random/pseudorandom reads, multiple reads of
sequential addresses will be optimized by drive.
One more - i'm talking about raw I/O, FreeBSD of course optimizes
filesystem acces internally by using lots of caching (as much as available
memory) and planning requests.
small writes to file usually succeed immediatelly (to cache).
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"