I''m new to puppet and I''m running into a problem. It''s not obvious to me what''s going on and I''m not sure how to diagnose the problem any further. I''m trying to deploy a directory using a ''file'' type with the recurse => "true" option but it''s running extremely slowly. The directory contains contains about 1500 files for a total of about 89M, but it frequently takes over half an hour to transfer even the first 1mb of files. I''ve tried running the client in "regular" daemon mode and with --test, but neither seems to make a difference. Running with the --test option there is a delay of at least a few seconds (sometimes more) between each line of output printed. Neither of the machines have any obvious load, and the network between the servers appears to be fine (~500k/sec as reported by wget), and judging by ''top'' neither of the processes appear to be busy doing anything. The directive I''m using to copy the files is pretty straightforward: file { ''/home/prod/glassfish/'': owner => ''prod'', group => ''prod'', ensure => ''directory'', mode => ''0755'', source => ''puppet:///apps/glassfish/home/prod/glassfish'', recurse => ''true'' } I''ve also turned on debug logging on the puppetmaster, but i didn''t see anything that seemed interesting. I''m running puppet 0.24.4 on CentOS 5.1. Any advice or pointers on what I should do to figure out what''s going on here? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---
Evan Hisey
2008-Jun-05 20:28 UTC
[Puppet Users] Re: slow file transfer using recurse => ''true''
On Thu, Jun 5, 2008 at 3:17 PM, Greg <grgbrn@gmail.com> wrote:> > I''m new to puppet and I''m running into a problem. It''s not obvious to > me what''s going on and I''m not sure how to diagnose the problem any > further. > > I''m trying to deploy a directory using a ''file'' type with the recurse > => "true" option but it''s running extremely slowly. The directory > contains contains about 1500 files for a total of about 89M, but it > frequently takes over half an hour to transfer even the first 1mb of > files. I''ve tried running the client in "regular" daemon mode and > with --test, but neither seems to make a difference. > > Running with the --test option there is a delay of at least a few > seconds (sometimes more) between each line of output printed. Neither > of the machines have any obvious load, and the network between the > servers appears to be fine (~500k/sec as reported by wget), and > judging by ''top'' neither of the processes appear to be busy doing > anything. > > The directive I''m using to copy the files is pretty straightforward: > > file { ''/home/prod/glassfish/'': > owner => ''prod'', > group => ''prod'', > ensure => ''directory'', > mode => ''0755'', > source => ''puppet:///apps/glassfish/home/prod/glassfish'', > recurse => ''true'' > } > > I''ve also turned on debug logging on the puppetmaster, but i didn''t > see anything that seemed interesting. > > I''m running puppet 0.24.4 on CentOS 5.1. > > Any advice or pointers on what I should do to figure out what''s going > on here? >That is really not puppets forte. It is slow with that many files it will have to recurse over it about ttwice. and will play all kinds of hell with directories. If you want to move that many files use an exec to Rsync or wget them. Evan --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---
Mike Renfro
2008-Jun-05 20:52 UTC
[Puppet Users] Re: slow file transfer using recurse => ''true''
On 6/5/2008 3:28 PM, Evan Hisey wrote:> On Thu, Jun 5, 2008 at 3:17 PM, Greg <grgbrn@gmail.com> wrote: >> I''m trying to deploy a directory using a ''file'' type with the recurse >> => "true" option but it''s running extremely slowly. The directory >> contains contains about 1500 files for a total of about 89M, but it >> frequently takes over half an hour to transfer even the first 1mb of >> files. I''ve tried running the client in "regular" daemon mode and >> with --test, but neither seems to make a difference. > That is really not puppets forte. It is slow with that many files it > will have to recurse over it about ttwice. and will play all kinds of > hell with directories. If you want to move that many files use an exec > to Rsync or wget them.Having to md5sum 1500 files isn''t quick, especially if it does them one at a time. On an earlier authentication setup, I had puppet clients md5, transfer, and concatenate around 270 files (one file per username), and it was ridiculously slow. Now I concatenate many fewer files on the puppetmaster and transfer the result to the clients. If that''s Java app server Glassfish, I''d advise either doing a triggered rsync of the source folder [1], or making an OS-native package and private repository [2] and letting Puppet''s package handling take over. [1] http://preview.tinyurl.com/3n5npl [2] http://preview.tinyurl.com/4xpsbx (Debian), http://preview.tinyurl.com/3f73sc (Solaris) -- Mike Renfro / R&D Engineer, Center for Manufacturing Research, 931 372-3601 / Tennessee Technological University --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---
Greg
2008-Jun-05 23:29 UTC
[Puppet Users] Re: slow file transfer using recurse => ''true''
On Jun 5, 1:52 pm, Mike Renfro <ren...@tntech.edu> wrote:> On 6/5/2008 3:28 PM, Evan Hisey wrote: > > Having to md5sum 1500 files isn''t quick, especially if it does them one > at a time. On an earlier authentication setup, I had puppet clients md5, > transfer, and concatenate around 270 files (one file per username), and > it was ridiculously slow. Now I concatenate many fewer files on the > puppetmaster and transfer the result to the clients. > > If that''s Java app server Glassfish, I''d advise either doing a triggered > rsync of the source folder [1], or making an OS-native package and > private repository [2] and letting Puppet''s package handling take over.Ok, thanks. I''ll just do something with rsync... I was trying to avoid having to build packages if I could help it. It does seem to be something like an order of magnitude slower than I''d naively expect, even with it having to compute a md5sum of the file... not sure if somebody with access wants to file a low priority bug (I didn''t see anything already existing in the tracker) so that it might eventually get looked at? Anyway, puppet looks like a great tool, thanks for your help. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---
Greg wrote:> Ok, thanks. I''ll just do something with rsync... I was trying to > avoid having to build packages if I could help it. > > It does seem to be something like an order of magnitude slower than > I''d naively expect, even with it having to compute a md5sum of the > file... not sure if somebody with access wants to file a low priority > bug (I didn''t see anything already existing in the tracker) so that it > might eventually get looked at? >All computation of md5sums aside, puppetmaster still has to encode all of the data for sending it over XMLRPC. This is where the major slowdown occurs, and will mostly be resolved with RESTfulness! Regards, AJ --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---
Paul Lathrop
2008-Jun-05 23:32 UTC
[Puppet Users] Re: slow file transfer using recurse => ''true''
On Thu, Jun 5, 2008 at 4:29 PM, Greg <grgbrn@gmail.com> wrote:> It does seem to be something like an order of magnitude slower than > I''d naively expect, even with it having to compute a md5sum of the > file... not sure if somebody with access wants to file a low priority > bug (I didn''t see anything already existing in the tracker) so that it > might eventually get looked at?This is a known issue with the current Puppet architecture. It will (hopefully) be (mostly) fixed in 0.25 with the migration to a REST architecture. --Paul --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---