Re: [Jfs-discussion] directory access time for jfs vs. ext3
Brought to you by:
blaschke-oss,
shaggyk
From: Dave K. <sh...@au...> - 2004-06-09 21:20:37
|
On Wed, 2004-06-09 at 11:17, Charles Floyd wrote: > Hi, > I'm experiencing unexpected latency involving directory access on a jfs > partition. I have 2 machines with identical copies of data. One of the > machines has the data on a jfs partition, the other on an ext3 > partition. The jfs machine also has a raid-5 setup. To test the access > time I've been executing the following line in the shell: > > time ls | wc -l > > The command executes is equal time on both machines for more more recent > data (both written and accessed more recently). However, for older > data, the command takes considerably longer Here are some sample outputs > I received from the jfs (frontend-0) and ext3 (compute-0-0) machines, > respectively: > > [11:13:21 cfloyd@frontend-0 2004-01-02]$ time ls -1 | wc -l 'ls -l' not only reads the directory, but reads the inode for each entry in order to get the file-type, size, modification times, etc. > 11531 > > real 0m1.587s > user 0m0.040s > sys 0m0.000s > > [11:13:46 cfloyd@compute-0-0 2004-01-02]$ time ls -1 | wc -l > 11531 > > real 0m0.056s > user 0m0.030s > sys 0m0.020s > > Can anyone help me figure out what's behind this behavior and if I can > change it? Thanks 'ls | wc -l' should run more efficiently than 'ls -l | wc -l', since ls doesn't need to stat the individual entries. I don't know the details of ext3, but jfs dynamically allocates inodes as they are needed, so reading the inodes will require reads to different areas of the disk. jfs's inode is larger than ext3's as well. I don't know, but maybe ext3 prefetches inodes aggressively, so they are more likely to be in memory, even if they haven't been accessed recently. > > Charles Floyd -- David Kleikamp IBM Linux Technology Center |