Re[2]: Bad performance when accessing a lot of small files



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.

Hi,

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.

_______________________________________________
freebsd-performance@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-performance
To unsubscribe, send any mail to "freebsd-performance-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: Bad performance when accessing a lot of small files
    ... >>The behavior that I'm observing and that want your help is when the ... I'm using zfs, I think this change the things.. ... > sysctl -a vfs.ufs | grep dirhash ...
    (freebsd-performance)
  • Re: Bad performance when accessing a lot of small files
    ... with ~ 1 million of ~30kb files), the performance is very poor. ... I'm using zfs, I think this change the things.. ... sysctl -a vfs.ufs | grep dirhash ... # sysctl -a vfs.ufs | grep dirhash ...
    (freebsd-performance)
  • Re: new ZFS sysctls not working?
    ... It would appear that the new sysctls for ZFS ... Please provide more details of your system, e.g. sysctl ... Yeah, you don't even have 128 MB of kmem available, so ...
    (freebsd-current)
  • Re: new ZFS sysctls not working?
    ... It would appear that the new sysctls for ZFS ... Please provide more details of your system, e.g. sysctl ... CPU: AMD Athlonprocessor ... real memory = 259981312 ...
    (freebsd-current)
  • Re: new ZFS sysctls not working?
    ... It would appear that the new sysctls for ZFS ... Please provide more details of your system, e.g. sysctl vm.kmem_size. ... CPU: AMD Athlonprocessor ... real memory = 259981312 ...
    (freebsd-current)