Date: Thu, 02 Jan 2003 08:58:41 -0800 (PST) From: =?ISO-8859-1?Q?Mikko_Ty=F6l=E4j=E4rvi?= <mbsd@pacbell.net> To: MikeM <myraq@mgm51.com> Cc: freebsd-questions@FreeBSD.ORG Subject: Re: Lots of files in a directory Message-ID: <20030102084356.R18514-100000@atlas.home> In-Reply-To: <200301020955300340.09F341B4@home.24cl.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 2 Jan 2003, MikeM wrote:
> On 1/2/03 at 3:13 PM Roman Neuhauser wrote:
>
> |# MyRaQ@mgm51.com / 2003-01-02 09:01:27 -0500:
> |> I'm considering setting up my server as a mirror site for the freedb.org
> |> lookup database. Unfortunately, I've seem to have run into a stumbling
> |> block. The server app requires over 250,000 files in a single
> directory.
> |> Each file is about 2k in size.
It can be argued that the application is poorly designed...
[...]
> I already have UFS_DIRHASH specified in my kernel config file. :-(
Maybe you can tweak some sysctls:
atlas% sysctl -a | grep dirhash
vfs.ufs.dirhash_minsize: 2560
vfs.ufs.dirhash_maxmem: 2097152
vfs.ufs.dirhash_mem: 795239
vfs.ufs.dirhash_docheck: 0
Try playing with with "vfs.ufs.dirhash_maxmem". I suppose it has to
be at least as large as the size of the Directory From Hell.
Also remember that any application that lists all of those files
sequentially (as opposed to accessing a single one by name) will be
very slow, no matter what. And don't forget that "ls" and shell
expansion of "*" will not only read through all entries, but also
sort them...
It would probably be better to patch the dang server to use a
multi-level directory structure instead.
$.02,
/Mikko
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030102084356.R18514-100000>
