Re: [RFC] extents support for EXT3

From: Ed Sweetman
Date: Fri Aug 29 2003 - 15:00:14 EST


Well, it appears that you need about 10+ blocks per extent to see any noticable performance gain. The problem is most files are not large enough to achieve this. Most range from a few kB to a couple mB. High activity directories like /tmp and /usr deal mostly with numerous small files. Now the reason i bring this up is that extents basically make your fs incompatible with any kernel not compiled with the patch, which means if something bad happened and you needed to use a bootable cdrom with some safety kernel, it wouldn't be that useful. for such small improvements, it doesn't seem worth the risk to make / or directories like /tmp,/var,/usr,/boot,/lib etc, with extents. The files just dont get large enough to make performance gains worth more than backward compatibility.

Now for media, like music and movies and such, this makes a lot of sense. Files get large enough so that the block to extent use is very high and the files aren't necessary to use the system. extents are 5 seconds faster when md5summing a 622MB file than the same file written without extents enabled.


I would not recommend using the patch for system directories only because it leaves you with no way to rescue the system and does very little in the way of performance for those directories. Ext3 is backwards compatible with ext2, this patch seemingly breaks that. Because of that it doesn't seem to be ext3 anymore, rather a one way compatibility with ext3 with a purely large media bias.



Alex Tomas wrote:
Ed Sweetman (ES) writes:


ES> Throughput 221.812 MB/sec 16 procs ext2
ES> Throughput 159.495 MB/sec 16 procs ext3-extents (definitely enabled)
ES> Throughput 147.598 MB/sec 16 procs ext3 (patched but disabled)

ES> There is an obvious improvement, but nothing near the 70+% increase
ES> you saw. Subsequent runs run anything from a little lower than above
ES> for extents to 167MB/s.

it seems one of my scsi drive is a bit broken (caching, at least).
sorry for invalid numbers. on another drive I see following:

w/o extents:
[root@zefir root]# /root/db2.sh 2 16
Throughput 119.199 MB/sec 16 procs
Throughput 106.09 MB/sec 16 procs
Average: 112.64450


with extents:
[root@zefir root]# /root/db2.sh 2 16
Throughput 156.846 MB/sec 16 procs
Throughput 170.591 MB/sec 16 procs
Average: 163.71850

so, this time improvement is about 45%

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/