Portlet Performance

The load time for portlets on PPM Dashboard pages can affect the system performance for other users logged on to PPM. To significantly improve PPM performance, do the following:

  • To avoid queries that degrade performance, configure portlet filters that best fit your business requirements.

    Note: For instructions on how to configure portlet filters, see the Configuring Portlets section of the Getting Started guide.

  • Multiple portlets are loaded concurrently on PPM Dashboard pages, with multiple threads within a PPM node asynchronously fetching portlet data. PPM Dashboard that consist of many portlets, or portlets that take a long time to run, can place heavy demands on the application-managed database connection pool. This can result from the database-heavy nature of many portlets.

    You can use the Portlet-Thread-Batch-Size server configuration parameter to restrict the demand that any single user session can place on a connection pool. This setting limits the number of portlets that can be loaded concurrently on any single PPM Dashboard page. The default setting is 4. We recommend that, for most deployments, you retain the default setting and adjust it up or down only if performance indicates that the adjustment would benefit PPM users and at the same time prevent excessive connection pool demand (saturation).

    If users report unacceptable PPM Dashboard loading times, we recommend that you investigate the performance of the associated portlets before you modify the Portlet-Thread-Batch-Size parameter. Often, you can improve portlet performance by applying appropriate filters to portlets.

    For instructions on how to apply filters to portlets, see the document Getting Started. For instructions on how to set the Portlet-Thread-Batch-Size parameter, see the Installation and Administration Guide.

  • Make sure that any custom portlets you develop can return information in eight seconds or less (with the use of portlet filters) and that the result set consists of fewer than 100 rows.

  • Set the PPM Dashboard auto-refresh frequency to 60 minutes (30 minutes minimum).

  • Test the SQL and response time with large data sets.

  • Test the performance of all of your important and complex portlets. Include testing the execution plans for any custom portlets with different filter field combinations.

    Note: For information on how to monitor and track portlet performance, see Portlet Monitor and the Installation and Administration Guide.

  • Avoid custom portlets that use several sequential SQL calls.

    Every SQL call requires a new database connection. Consider combining calls into a database function or procedure to limit the number of connections required. Connections that PPM establishes and stores in the connection pool are not used.

  • Leverage materialized views for custom portlets with complex SQL queries.

    Materialized views can cause overhead on the database if used improperly. Pay special attention to the following:

    • Time required to refresh the portlet

    • Refresh interval

    • Whether the requirement really calls for a materialized view

    To determine the trade-offs and requirements of materialized views, consult your DBA.

  • If you must increase the maximum number of rows displayed in PPM portlets, make sure that you understand the performance impact of doing so. The server configuration parameter PORTLET_MAX_ROWS_RETURNED, which determines the default maximum number of rows, is a system-wide parameter. The default value is 200. We recommend that you increase its value incrementally, 50 rows at a time.

    Note: For information about how to modify PPM server configuration parameters, see the Installation and Administration Guide.

If your portlet does not meet the suggested recommendations, develop a custom report.