It would be interesting to see similar tests in which the filesystems were mounted such that the inode access time is not updated. D * On Fri, Mar 23, 2001 at 01:22:58AM -0700, Kevin Buettner wrote: > On Mar 22, 1:47pm, Kevin Buettner wrote: > > > If anyone's interested, I could also run these tests on the same box > > using NetBSD 1.5, Solaris 8, and Unixware 7. It might be > > interesting to see how the commercial OSes do... > > Well, as it turned out, I was interested in seeing whether other > implementations of Unix use memory to cache file data. I was also > interested in seeing how well these other OSes make use of this > cache. Below are my findings... > > ........................................................................... > > The table below shows the time (in seconds) taken to run the following > command back-to-back (i.e. twice in a row) on various OSes: > > time find linux-2.4.2 -type f -print | xargs wc > /dev/null > > This test measures how well the OS uses extra memory to cache file > data. The test data are the sources to the stock Linux 2.4.2 kernel > available from ftp.kernel.org. The test data takes up roughly 108MB > of disk space. > > Hardware is 1.1GHz Athlon w/ 768 MB memory. There are two disks in > the machine. Both are 7200 RPM EIDE drives made by Western Digital. > One drive is 30GB; the other is 40GB. The 40GB drive was used for the > Solaris 8 and NetBSD 1.5 tests; the 30GB drive was used for the other > tests. > > | Real #1 | User #1 | Sys #1 | Real #2 | User #2 | Sys #2 | > ----------------+---------+---------+---------+---------+---------+---------+ > RH Wolverine | 19.85 | 1.43 | 0.87 | 1.65 | 1.21 | 0.44 | > ----------------+---------+---------+---------+---------+---------+---------+ > FreeBSD 4.2 (1) | 21.46 | 1.59 | 1.30 | 7.24 | 1.52 | 0.74 | > ----------------+---------+---------+---------+---------+---------+---------+ > FreeBSD 4.2 (2) | 31.00 | 1.43 | 1.25 | 4.93 | 1.45 | 0.75 | > ----------------+---------+---------+---------+---------+---------+---------+ > NetBSD 1.4 | 22.87 | 1.19 | 1.06 | 22.38 | 1.19 | 1.07 | > ----------------+---------+---------+---------+---------+---------+---------+ > NetBSD 1.5 | 26.38 | 1.21 | 1.07 | 24.61 | 1.17 | 0.96 | > ----------------+---------+---------+---------+---------+---------+---------+ > Unixware 7 | 40.86 | 1.58 | 17.26 | 2.40 | 1.28 | 1.02 | > ----------------+---------+---------+---------+---------+---------+---------+ > Solaris 8 | 55.51 | 1.92 | 2.09 | 2.94 | 1.82 | 1.04 | > ----------------+---------+---------+---------+---------+---------+---------+ > > Notes: > (1) Using ext2fs for the filesystem > (2) Using ufs for the filesystem > > uname -a data > ------------- > Wolverine: > Linux mesquite 2.4.1-0.1.9 #1 Wed Feb 14 22:15:15 EST 2001 i686 unknown > > FreeBSD 4.2: > FreeBSD mesquite.lan 4.2-RELEASE FreeBSD 4.2-RELEASE #2: Sun Mar 11 11:18:15 MST 2001 root@mesquite.lan:/usr/src/sys/compile/MESQUITE i386 > > NetBSD 1.4: > NetBSD mesquite 1.4 NetBSD 1.4 (GENERIC) #0: Fri May 7 12:27:31 PDT 1999 perry@cynic.cynic.net:/usr/src/sys/arch/i386/compile/GENERIC i386 > > NetBSD 1.5: > NetBSD mesquite.lan 1.5 NetBSD 1.5 (GENERIC) #1: Sun Nov 19 21:42:11 MET 2000 fvdl@sushi:/work/trees/netbsd-1-5/sys/arch/i386/compile/GENERIC i386 > > Unixware 7: > UnixWare mesquite 5 7.1.1 i386 x86at SCO UNIX_SVR5 > > Solaris 8: > SunOS mesquite 5.8 Generic_108529-03 i86pc i386 i86pc > > Additional notes and observations > --------------------------------- > > With the exception of FreeBSD 4.2, I'm using the stock kernel from the > install of each OS. I have not done any system tuning. (The FreeBSD > kernel was recompiled in order to get ext2fs support.) > > The "Real #1" numbers should be taken with a grain of salt. The > machine in question is a multi-boot machine and I had to copy over the > test data to the partition where the OS resides. It is well known > that different portions (usually inner tracks vs. outer tracks) of a > disk perform differently. (My understanding is that the outer tracks > give better performance and that the difference in performance between > the inner and outer tracks can be quite dramatic. See > www.storagereview.com for more info.) > > The important number for this test is the "Real #2" value. The above > tests shows that Linux, FreeBSD, Unixware 7, and Solaris 8 all use > memory to cache filesystem data. Neither of the NetBSD releases that > I tested appear to use memory as a cache since the wall clock > performance for the second test was virtually identical to the first. > Also, FreeBSD doesn't do as good a job as one might expect, though it > does do slightly better when using it's own native filesystem (UFS). > It's interesting to note that, in the first test, FreeBSD completed > roughly 9.5 seconds faster when using an ext2 filesystem as opposed to > a UFS filesystem. (But again, see the caveat in the previous > paragraph; this number could be entirely due to the location where > the data resides on disk.) > > I repeated some of the more surprising tests (in particular, the Linux > and FreeBSD tests) more than once and obtained virtually identical > results in the subsequent trials. I should also note that each trial > (consisting of the two back to back tests) was run immediately after a > fresh boot of the OS under consideration. The reason for doing this > was to make sure that as much of the machine's memory as possible was > free to use for caching file data. > > Comments? > > Kevin > > ________________________________________________ > See http://PLUG.phoenix.az.us/navigator-mail.shtml if your mail doesn't post to the list quickly and you use Netscape to write mail. > > Plug-discuss mailing list - Plug-discuss@lists.PLUG.phoenix.az.us > http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss >