Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 15 Aug 2013 11:37:02 -0700
From:      aurfalien <aurfalien@gmail.com>
To:        Charles Swiger <cswiger@mac.com>
Cc:        FreeBSD Questions <freebsd-questions@freebsd.org>
Subject:   Re: copying milllions of small files and millions of dirs
Message-ID:  <6483A298-6216-4306-913C-B3E0F4A3BC8D@gmail.com>
In-Reply-To: <CC3CFFD3-6742-447B-AA5D-2A4F6C483883@mac.com>
References:  <7E7AEB5A-7102-424E-8B1E-A33E0A2C8B2C@gmail.com> <CC3CFFD3-6742-447B-AA5D-2A4F6C483883@mac.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Aug 15, 2013, at 11:26 AM, Charles Swiger wrote:

> On Aug 15, 2013, at 11:13 AM, aurfalien <aurfalien@gmail.com> wrote:
>> Is there a faster way to copy files over NFS?
>=20
> Probably.

Ok, thanks for the specifics.

>> Currently breaking up a simple rsync over 7 or so scripts which =
copies 22 dirs having ~500,000 dirs or files each.
>=20
> There's a maximum useful concurrency which depends on how many disk =
spindles and what flavor of RAID is in use; exceeding it will result in =
thrashing the disks and heavily reducing throughput due to competing I/O =
requests.  Try measuring aggregate performance when running fewer rsyncs =
at once and see whether it improves.

Its 35 disks broken into 7 striped RaidZ groups with an SLC based ZIL =
and no atime, the server it self has 128GB ECC RAM.  I didn't have time =
to tune or really learn ZFS but at this point its only backing up the =
data for emergency purposes.

> Of course, putting half a million files into a single directory level =
is also a bad idea, even with dirhash support.  You'd do better to break =
them up into subdirs containing fewer than ~10K files apiece.

I can't, thats our job structure obviously developed by scrip kiddies =
and not systems ppl, but I digress.

>> Obviously reading all the meta data is a PITA.
>=20
> Yes.
>=20
>> Doin 10Gb/jumbos but in this case it don't make much of a hoot of a =
diff.
>=20
> Yeah, probably not-- you're almost certainly I/O bound, not network =
bound.

Actually it was network bound via 1 rsync process which is why I broke =
up 154 dirs into 7 batches of 22 each.

I'll have to acquaint myself with ZFS centric tools to help me determine =
whats going on.

But=20





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6483A298-6216-4306-913C-B3E0F4A3BC8D>