Why are disk writes so slow?
mark at gaiahost.coop
Tue Sep 26 08:48:05 PDT 2006
I am reading Richard Stevens' "Advanced Programming in the UNIX
Environment," a most excellent book.
Out of curiosity, I tried his I/O efficiency program on my IBM
A30 Thinkpad, running 6.0-RELEASE with default tuning parameters.
The test program reads file on stdin and writes to stdout, and
you modify bufsize to watch how time changes.
As in his example (with a bufsize of 8192),
time ./a.out < 1.5M-testfile > /dev/null
runs five times faster than (clock time)
time ./a.out < 1.5M-testfile > /a.out.out
Can someone explain to me why writing is five times as slow as
writing? What's going on in the computer?
The file is not O_SYNC, so it can't be validating the data on the
Later in the same chapter, he shows the impact of O_SYNC flag. I
re-ran this experiment too, and while everything is two orders of
magnitude faster than his times in the book, the relative speed
of writing with O_SYNC is three times slower.
normal write 2.3s .023s
O_SYNC 13.4s .364s
slowdow factor 5.8 15.8
Is this all b/c disks are so much larger?
More information about the freebsd-performance