Problem with slow disk I/O

classic Classic list List threaded Threaded
21 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: Problem with slow disk I/O

Jan Stary
> >>>>First on Ubuntu:
> >>>>/dev/sda2 on / type ext3 (rw,relatime,errors=remount-ro)
> >>>>~$ time (tar -zxf ports.tar.gz && sync)
> >>>>real 0m47.784s

> >>>>Then the same commands on OpenBSD:
> >>>>/dev/wd0k on /home type ffs (local, nodev, nosuid, softdep)
> >>>>$ time (tar -zxf ports.tar.gz && sync)
> >>>>    1m2.62s real     0m1.15s user     0m7.15s system

> >>>So you have ~52 seconds on ext3 mounted  'realtime' (whatever that
> >>>means),
> >>>versus ~63 seconds on ffs mounted with 'softdep'.

Replying to myself,

'realtime' implies noatime, says http://lwn.net/Articles/244829/
(Isn't "once upon atime" an amusing title?)

And https://help.ubuntu.com/community/Fstab says that 'async'
is the default for Ubuntu ext3 mounts. Is your ext3 mounted
async? The mount line doesn't say so - but is that hidden
under 'realtime', too?

> Also, doesn't ext2/3 run with everything mount async?
> A quick test with ffs in async mode (instead of, or added to softdep)
> would also be worth running, in order to see how much "grossly insecure
> I/O" lessens the perceived time.
> I am one of those who like to keep my
> files, so I wont recommend USING async, but for the sake of argument
> here, such a test might be in order.

softdep and async are mutually exclusive.

This is what happens with and without noatime (+ softdep, of course),
and with async replacing softdep, on my machine:

# uname -a
OpenBSD stary.dhcp.fjfi.cvut.cz 4.4 GENERIC.MP#2 i386

# mount
/dev/wd0a on / type ffs (local)
/dev/wd0d on /usr type ffs (local, nodev, softdep)
/dev/wd0e on /var type ffs (local, nodev, nosuid, softdep)
/dev/wd0f on /var/log type ffs (local, nodev, nosuid, softdep)
/dev/wd0g on /var/mail type ffs (local, nodev, nosuid, softdep)
/dev/wd0h on /tmp type ffs (local, nodev, nosuid, softdep)
/dev/wd0i on /home type ffs (local, nodev, nosuid, softdep)
/dev/wd0k on /dload type ffs (local, nodev, nosuid, softdep)
/dev/wd0j on /backup type ffs (local, nodev, nosuid, softdep)

# cd /backup
# ls -l ports.tar.gz
-rw-r--r--  1 root  wheel  14583699 Aug  9  2008 ports.tar.gz

# time { tar xzf ports.tar.gz ; sync ; }
    1m5.51s real     0m0.00s user     0m0.00s system
# time rm -rf ports
    0m13.88s real     0m0.20s user     0m1.56s system

# cd
# umount /backup
# mount -o nodev,nosuid,softdep,noatime /dev/wd0j /backup
# cd /backup

# time { tar xzf ports.tar.gz ; sync ; }
    1m6.85s real     0m0.00s user     0m0.00s system
# time rm -rf ports
    0m14.72s real     0m0.16s user     0m1.33s system

# cd
# umount /backup
# mount -o nodev,nosuid,async /dev/wd0j /backup
# cd /backup

# time { tar xzf ports.tar.gz ; sync ; }
    0m39.44s real     0m0.00s user     0m0.01s system
# time rm -rf ports
    0m6.80s real     0m0.19s user     0m1.45s system


        Jan

12