07-19-04 07:46 AM
"Benno..." <0@0.invalid> wrote in message
news:40fb75f1$0$284$4d4ebb8e@news.nl.uu.net...
> Due to applications as the SAP client and AutoCAD 2002 our users roaming
> profiles contain thousands of very small files. I have noticed that the
> average transfer rate of those small files (~350Bytes in size) over the
> network is extremely slow
From your later comments, it sounds as if you already recognize that your
performance problem likely has little to do with the network: the
performance that you're seeing is consistent with the requirement for a
separate disk access for each small file (on a fairly fast disk).
compared to normal to large sized files (300KB
> up to a few MB). With the normal sized files I'm seeing transfer rates
> to the workstations of 4MB to 15MB per second, with the small files this
> drops to as low as 75KB per second with an average of ~200KB per second.
>
> The roaming profiles are stored on a RAID5 logical drive with a 64KB
> stripe size (I think this is the maximum for the Smart Array 5300
> controller) and the NTFS partition is formatted with the default 4KB
> cluster size. The Array Controller cache is configured 25% read / 75%
> write to compensate for the RAID5 slower writes.
>
> The server is a Windows 2000 SP4 machine, the workstations are NT4 SP6a.
> The network is 100Mb switched with a 1000Mb connection to the fileserver.
>
> Is there anything I can do with the RAID stripe size or the cluster size
> to increase the throughput of those small files without affecting
> transfer speed the normal sized files to much?
No. The only thing that could help in that area is sufficient cache on the
array (you might consider changing the read/write balance: if the cache
isn't helping much at all now, that may not help much more, but your current
heavy skew toward writes may not be helping much either) or in the system
file cache to keep the small files memory-resident.
A file system like Reiserfs that can aggregate many such small files in a
single directory node might help, if the accesses to them are clustered
within directories. The only analogous approach with NTFS would be somehow
to manage to create the files in a clean MFT in the order that they're
accessed by the user, and depend upon the disk's read-ahead mechanism to
prefetch multiple files at a time (though if other activity is also
contending for the disk that could interfere with the read-aheads, or vice
versa if you force read-ahead on every access).
- bill
[ Post a follow-up to this message ]
|