Bad performance when accessing a lot of small files
_pppp at mail.ru
Thu Dec 20 08:56:50 PST 2007
>>>The behavior that I'm observing and that want your help is when the
>>>system is accessing some directory with many small files ( directories
>>>with ~ 1 million of ~30kb files), the performance is very poor.
> I'm using zfs, I think this change the things.. no ?
> > Have you adjusted the dirhash value ? What does
> > sysctl -a vfs.ufs | grep dirhash
> # sysctl -a vfs.ufs | grep dirhash
> vfs.ufs.dirhash_docheck: 0
> vfs.ufs.dirhash_mem: 1410338
> vfs.ufs.dirhash_maxmem: 2097152
> vfs.ufs.dirhash_minsize: 2560
I agree with Mike.
Try to run this command while listing your large directory. You'll see that dirhash_mem will reach dirhash_maxmem. So, the value of dirhash_maxmem should be increased.
One more hint. Mounting filesystems with -noatime option greatly improves read performance. Apply this also, if you haven't done this yet.
More information about the freebsd-performance