Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Sep 2006 11:46:44 -0400
From:      Mark Bucciarelli <mark@gaiahost.coop>
To:        freebsd-performance@freebsd.org
Subject:   Why are disk writes so slow?
Message-ID:  <20060926154643.GA3064@rabbit>

next in thread | raw e-mail | index | archive | help
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
disk.

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.

                     1993       2006
                    -----       ----
    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?

m



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060926154643.GA3064>