Configuring and tuning PuppetDB
We recommend tuning the following settings as needed to improve the performance of PuppetDB.
You can increase the JVM (Java Virtual Machine) memory that is allocated to Java services running on PuppetDB. This memory allocation is known as the Java heap size.
Instructions for using the PE console to increase the Jave heap size are detailed on on the Configuring Java Arguments for PE page.
Increasing the ulimit for pe-puppetdb
The various services in PE require up to one file handle per connected client. On most OS configurations, the defaults will not be high enough for more than a couple hundred clients. To support more clients, you need to increate the number of allowed file handles.
Instructions for increasing the number of file handles are detailed on the Increasing the ulimit for PE services page.
Configuring report processors
The Puppet master generates agent run reports every time Puppet runs and submits these to PuppetDB. These can be enabled or disabled from the PE console or hiera. By default, this setting is set to
To enable/disable run report processors using the console:
- In the PE console, navigate to the Classification page (Nodes > Classification).
- Click the PE Master group.
- In the PE Master group page, click the Classes tab.
- Locate (or add) the
puppet_enterprise::profile::master::puppetdbclass, and from the Parameter drop-down list, select
- In the Value field, enter
absent(to disable) or
- Click Add parameter, and then click the Commit change button.
To enable/disable run report processors using Hiera:
To enable/disable run report processors, you need to edit your Hiera default
.yaml file, and set the
report_processor_ensure setting using the following code:
puppet_enterprise::profile::master::puppetdb::report_processor_ensure: <PRESENT or ABSENT>
Use this parameter to set the “time-to-live” value before PE automatically deletes nodes that have been deactivated or expired. This will also delete all facts, catalogs, and reports for the relevant nodes.
Specify the time as a string using any of the following suffixes:
For example, a value of
14d would set the time-to-live to 14 days.
Edit your Hiera default
.yamlfile, and set the
node_purge_ttlsetting, as shown in the following code: