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"

Reply via email to