PingDirectory

Tuning data collection

You can tune data collection by reducing the data collected, reducing the frequency of data collection, reducing the frequency of sample block creation, and reducing PingDataMetrics server impact on performance.

Collecting all of the performance data at the most granular level from all of the servers might not be possible without a significant investment in hardware for the PingDataMetrics server. Instead, tune data collection to fit within the limits of the existing PingDataMetrics server hardware.

The remainder of this section describes several strategies for tuning data collection.

Reducing the data collected

If not all information collected by the PingDataMetrics server is required, the Stats Collector plugin’s entry-cache property can be tuned using the dsconfig command-line tool.

The server collects information for eight different information groups. Limit data collection to the devices of actual interest.

Example

To omit all metrics related to the entry cache, set the entry-cache-info group on the monitored server:

$ bin/dsconfig set-plugin-prop --plugin-name "Stats Collector" \
  --set entry-cache-info:none

Reducing the frequency of data collection

Use the dsconfig tool to reduce or modify the frequency of data collection in the monitored servers.

About this task

Monitored servers can produce metric samples every second, which is useful for short-duration changes. These samples are less useful hours later, after the per-second data is aggregated to per-minute data.

Steps

  • To change the base sample production rate from the default of 1 second to 10 seconds, use the dsconfig tool.

    Example:

    $ bin/dsconfig set-plugin-prop --plugin-name "Stats Collector" \
      --set "sample-interval:10 seconds"

    Result:

    This change reduces the total data volume by about 90 percent.

Reducing the frequency of sample block creation

Reduce the number of sample blocks processed by the PingDataMetrics server.

About this task

By default, the monitored servers produce a new block of samples every 30 seconds. Increasing this to 60 seconds, while reducing the PingDataMetrics server’s polling rate to 60 seconds, reduces the sample processing overhead.

Steps

  • To change the frequency at which the monitored servers create sample blocks, run the following dsconfig command:

    $ bin/dsconfig set-backend-prop --backend-name metrics \
      --set sample-flush-interval:60s

Reducing PingDataMetrics server impact on performance

All Ping Identity servers expose performance data through the cn=monitor distinguished name (DN).

About this task

Performance issues occur when data is read, either directly by an LDAP client, or by enabling either the Stats Logger or Stats Collector plugins.

The Stats Logger plugin reads the configured monitors and writes the resulting values to a .csv file. The Stats Collector plugin also reads the configured monitors and writes the resulting values to a .csv file, but this file is made available for LDAP clients in cn=metrics DN. The Stats Collector .csv files are suitable for use by the PingDataMetrics server, and contain one metric value per line.

The Stats Logger and the Stats Collector plugins are both disabled by default. When enabled, each of these plugins adds an approximate 3% CPU utilization penalty, plus a negligible amount of disk I/O and Java virtual machine (JVM) heap usage.

Steps

  • To enable the Stats Collector plugin, run the following dsconfig command:

    $ bin/dsconfig set-plugin-prop --plugin-name "Stats Collector" \
      --set enabled:true

    Result:

    The monitored-servers tool enables the Stats Collector plugin on the monitored server.