Best Practices on Performance with multiple large portlets added to the view
search cancel

Best Practices on Performance with multiple large portlets added to the view

book

Article ID: 127184

calendar_today

Updated On:

Products

Clarity PPM On Premise Clarity PPM SaaS

Issue/Introduction

Users are seeing slow performance connecting / trying to navigate to the overview/home page or another Clarity page (including custom pages or tabs). What are best practices to avoid this issue? 

Environment

Release: All Supported Releases

Cause

This is working as expected if any of the following apply:

  1. The portlets contain a large amount of data.
  2. If there are multiple large portlets are on the same page this can slow things down even more
  3. The portlets contain more than 10-15 columns.

Notes:

  • Portlets should not be used as a replacement for proper reports.
  • The Clarity Studio Guide describes the Architectural Design and Intent of a portlet, in summary:
  1. Portlets are snapshots into Clarity data and can consist of grids, graphs, or snippets of HTML.
  2. While portlets do not replace Clarity reports, they can be regarded as mini-reports.
  3. You can create and publish portals across the enterprise.  Each portal page is comprised of a set of portlets – small windows of information presented as graphs, tables or web page snippets.

Resolution

When creating portlets, the following best practices should be applied:

  1.  When utilizing aggregation over many rows of data, it is a best practice to create a separate summary portlet (e.g., one line portlet with totals.) 
    • A summary portlet allows the aggregation to be done on the database instead of returning all rows to the grid portlet to calculate the aggregation.
    • Page level filters provide for this capability. Filter on the page, which will give you a summary portlet along with detailed rows with no summarization.
  2.  Set “Don’t show results until I filter” on portlets.
    • If there is a business requirement that requires data to be shown when the page is first accessed, than a default filter can be set to limit the result set.
  3. We recommend portlets be avoided on the home page, or designed properly to allow quick end user access.
    • Use a different tab to add many portlets in order to ensure a quick login.
    • A poorly designed filter (or no filter at all) may launch a query returning all rows in the database while the end user is trying to login. This time needed to execute a poorly filtered or poorly optimized query can prevent the end user from accessing their home page and look like a “system down” condition.
  4. Minimize the amount of columns to return via your portlet. 
    • Clarity has the ability to return as many columns as you want but there can be a performance impact for doing this. 
    • Do not use portlets as an “ad-hoc” vehicle, (selecting many columns into the query that are not displayed, in case the user wants to add columns to their grid later. This type of activity is should be managed in Jaspersoft Reporting. 
    • It's recommended to limit the amount of columns returned to 10-15 at the most.
  5. Make sure you restrict the use of the “configure” option on portlets on users’ home pages to further restrict the number of columns that can be displayed.
  6. Label portlet fields not in use should be set to start with a “z” to group them in the bottom of the field list to prevent users from adding them as columns to sort on.

Additional Information

See also: Slow Performance in Clarity - Best Practices / List of Known issues