[CentOS] ext3 heavy file fragmentation with NFS write

Sat Feb 28 08:13:12 UTC 2009
Andrzej Szymanski <szymans at agh.edu.pl>

Stephen John Smoogen wrote:
> On Fri, Feb 27, 2009 at 12:31 AM, Andrzej Szymański <szymans at agh.edu.pl> wrote:
>> Hello,
>>
>> Does anybody know how to avoid the file fragmentation when a file is
>> created over NFSv3?
>>
>> A file created locally is OK:
>> dd bs=32k if=/dev/zero of=test count=32x1024 conv=fsync
>> filefrag test
>> test: 10 extents found, perfection would be 9 extents
>>
>> When I create the file in the same dir, but from another machine,
>> mounted over NFS:
>>
>> filefrag test
>> test: 4833 extents found, perfection would be 9 extents
> 
> 1) what is filefrag and where is it from?
filefrag comes with e2fsprogs-1.39-15.el5

> 2) Have you played with adding/subtracting threads to see if that helps?
8 threads - 3300 - 5000 extents
2 threads ~3000 extents
1 thread ~2000 extents (this one I've checked both with tcp and udp)
so it drops with decreasing number of threads

> 3) What happens if you don't use fsync on the dd.
No significant change.

> 4) What happens if you use larger/smaller bs
No siginficant change.

> 5) Is the rsize/wsize onthe server 32768 or some other number. I
> thought the default w/size on an export was 512 or some small number.
32768 is my setting. But when I leave it at the default the result is 
the same.

Andrzej