Running in webrick, for the exact same node, we saw 458 seconds to compile 
using directory environments vs 4.5 seconds using the old file-based 
environments.

On Thursday, April 17, 2014 5:23:24 AM UTC-4, Antoine Cotten wrote:
>
> Dear Puppet Users community, I would like to report an issue I experience 
> since the first release of Puppet 3.5, and possibly get some input from 
> people who face the same problem (if any).
>
>
> I run a Puppet environment in which all 48 nodes run CentOS 6.5. I have 
> been using config file-based environments so far without any trouble. When 
> Puppet 3.5.0 was officially released I decided to give give it a try, along 
> with the new Directory Environments feature. I disabled my old-style 
> environment config while making sure my directory tree was correctly set, 
> as described in the "Directory Environments" documentation 
> page<http://docs.puppetlabs.com/puppet/latest/reference/environments.html>
> .
>
> The problem shows up immediately after I restart httpd: Passenger starts 
> spawning more and more processes which all consume 25% of my machine CPU, 
> reaching a load average of 10+ in less than a minute as soon as the first 
> node requests a catalog. This makes the master unusable, it takes between 
> 200 and 300sec to compile any catalog.
>
>
> What I have tried:
>
>    1. Switching back from Passenger to WEBrick: same performance issue
>    2. Disabling the puppet service on all nodes, and triggering *one*single 
> manual Puppet run on a random node: same 
>    performance issue
>    3. Disabling my external node classifier (Foreman): same performance 
>    issue
>    4. Upgrading to Puppet 3.5.1: same performance issue
>    5. Switching back to config-based environments and re-enabling all 
>    nodes: no issue, my master behaves normally and the load-average 
>    remains under 0.25 constantly
>
> As you might have noticed, this is definitely not a sizing issue. My 
> master has 2GB of RAM and 2 allocated vCPU, but the Puppet master rack 
> process starts consuming all resources as soon as I re-enable Directory 
> Environments.
>
> When I want to use Directory Environments, the only thing I do is 
> commenting the [development] and [production] sections in my puppet.conf 
> file, and adding this to the [main] section: environmentpath = 
> $confdir/environments
>
> Let me describe my configuration:
>
> *-----------------puppet.conf--------------*
> [main]
>     logdir = /var/log/puppet.
>     rundir = /var/run/puppet
>     ssldir = $vardir/ssl
>     privatekeydir = $ssldir/private_keys { group = service }
>     hostprivkey = $privatekeydir/$certname.pem { mode = 640 }
>     autosign       = $confdir/autosign.conf { mode = 664 }
>
> [master]
>     autosign       = $confdir/autosign.conf { mode = 664 }
>     reports        = foreman
>     external_nodes = /etc/puppet/node.rb
>     node_terminus  = exec
>     ca             = true
>     ssldir         = /var/lib/puppet/ssl
>     storeconfigs = true
>     storeconfigs_backend = puppetdb
>
> [development]
>     modulepath     = 
> /etc/puppet/environments/development/modules:/usr/share/puppet/modules
>     manifest       = /etc/puppet/environments/development/manifests/site.pp
>     config_version =
> [production]
>     modulepath     = 
> /etc/puppet/environments/production/modules:/usr/share/puppet/modules
>     manifest       = /etc/puppet/environments/production/manifests/site.pp
>     config_version =
>
> *--------------------------------------------------*
>
> *--------------directory tree--------------*/etc/puppet/environments/
> |-- development
> |   |-- manifests
> |   |   `-- site.pp
> |   `-- modules
> |       |-- activemq
> |       |-- apache
> |       |-- apt
> |       |-- concat
> |       |-- datacat
> |       |-- environment
> |       |-- epel
> |       |-- erlang
> |       |-- firewall
> |       |-- java
> |       |-- java_ks
> |       |-- mcollective
> |       |-- postfix
> |       |-- profiles
> |       |-- rabbitmq
> |       |-- repos
> |       |-- stdlib
> |       `-- tomcat
> `-- production
>     |-- manifests
>     |   `-- site.pp
>     `-- modules
>         |-- activemq
>         |-- apache
>         |-- apt
>         |-- concat
>         |-- datacat
>         |-- environment
>         |-- epel
>         |-- erlang
>         |-- firewall
>         |-- inifile
>         |-- java
>         |-- java_ks
>         |-- mcollective
>         |-- mysql
>         |-- ntp
>         |-- postfix
>         |-- postgresql
>         |-- profiles
>         |-- puppetdb
>         |-- rabbitmq
>         |-- repos
>         |-- stdlib
>         |-- tomcat
>         `-- vsftpd
> *--------------------------------------------------*
>
>
>
> Can anybody reproduce this it on any platform? Thank you in advance for 
> your help!
>
> Toni
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/f8dde57e-7eaf-46c1-b2cd-f530f7847bf1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to