Set the minimum and maximum sizes for connection pools to JDBC and LDAP data stores.

Connection pools improve efficiency by maintaining persistent connections to the JDBC or LDAP server preventing the expense of creating the connection on demand. Connection pools also allow more control over the load placed on the back-end server. It might not be necessary to have a connection available for every concurrent request received by the server, but having too few available will cause requests to wait when accessing JDBC and LDAP resources.

Important: Size the connection pool based on the capacity and limitation of the database or LDAP server. Sizing the connection pool beyond the capability of the back-end server could lead to PingFederate flooding the datastore without any performance improvement. For optimal performance, size connection pools large enough to handle between 50% and 100% of the number of concurrent requests the server is expected to encounter often. For more information on optimizing the connection pool, see Best practices for tuning the JDBC connection pool in the Ping Identity Knowledge Base.
  1. For configuring connection pools to JDBC datastores, choose from the following options:
    • On the System > Data & Credential Stores > Data Stores window, select the applicable JDBC datastore.
    • On the Database Config tab on the Data Store window, click Advanced.
    • On the Advanced Database Options window:
      • Set the Minimum Pool Size value to 50% of the maxThreads value.
      • Set the Maximum Pool Size value to between 75% and 100% of the maxThreads value, subject to the capability of the back-end database server.
    Remember: The maxThreads value is defined in the <pf_install>/pingfederate/etc/jetty-runtime.xml file. For more information, see Tuning the server thread pool ).
  2. For configuring connection pools to LDAP datastores:
    1. On the Data Stores window, select the applicable LDAP datastore.
    2. On the LDAP Configuration tab on the Data Store window, click Advanced.
    3. On the Advanced LDAP Options window:
      • Set the Minimum Connections value to 50% of the maxThreads value.
      • Set the Maximum Connections value to between 75% and 100% of the maxThreads value, subject to the capability of the back-end database server.
      Remember:

      The maxThreads value is defined in the <pf_install>/pingfederate/etc/jetty-runtime.xml file. Fore more information, see Tuning the server thread pool.

  3. For a clustered PingFederate environment, replicate the changes to all engine nodes on the System > Server > Cluster Management window.