On Jan 24, 2011, at 9:14 AM, Daniel Piddock wrote:
> Dear list,
>
> I'm attempting to mirror a folder containing a few large files from an
> NFS location to the local drive. Subsequent runs take a lot longer than
> I'd have expected, after the first run.
>
> Using the following block a puppet apply run is currently taking 30 seconds:
> file { '/usr/share/target':
> source => 'file:///home/archive/source/',
> recurse => true,
> backup => false,
> checksum => mtime,
> }
>
> There are 42 files taking up 870MB. I'd have thought stating the files
> in the source and target, comparing to each other (or a cache internal
> to puppet as it doesn't set the mtime on files) would be a lot faster
> than it is.
>
> I was curious about what puppet was up to, so ran it in strace. It's
> reading every file every run, multiple times! Reads the target twice,
> then the source twice before reading the target again. Considering I
> wasn't expecting it to open any of the files at all this is total over kill.
>
> Is this horribly bugged or have I got a magic incantation that's causing
> this behaviour? strace is rather verbose and I haven't exactly read all
> 80MB of the dump line by line.
>
> Is there a neater way of just mirroring a folder based on modification
> time? I suppose the easiest route would be an exec of rsync, at least I
> have control over that.
>
> I'm using Puppet 2.6.4.
>
> Dan
> I especially like the way Ruby searches for and loads the md5 library
> every time it's used. What a performant language.
This sounds like a bug to me. I do know that I never use recurse=true except
when neccisary myself because it's too slow. In your position, I would replace
it with an rsync and file a bug.
Also, does it behave this badly when no changes are made or just when making
changes?
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.