Skip to main content

User experience performance optimization strategies

User experience performance optimization strategies

Poor application performance can prevent users from meeting service levels and can seriously impact the overall user experience. Careful design and usage of the UI components, case types, and service calls can help avoid performance issues.

Apply the following strategies to provide an optimal user experience:

  • Use layout groups to divide a rich user interface
  • Leverage case management to divide complex cases
  • Run service calls asynchronously
  • Investigate PEGA0001 alerts

Using layout groups to divide a rich user interface

Loading a single, complex form into the user's session can impact performance. Design the user interface to allow the user to focus on completing a specific task. Techniques include:

  • Breaking complex forms into logical modules that allow users to focus on an immediate goal
  • Using layout groups to break long forms into logical groups

Once the form is divided into layout groups, design each layout group to use the deferred load feature. This approach allows data in the layout group to be loaded when the form loads. The data for the other layout groups dynamically loads when users select each layout group on the browser.

Note: Use data pages as the source of data for deferred loading. Cache and reuse the data sets using appropriately sized and scoped data pages.

Leveraging case management to divide complex cases

Dividing complex cases into smaller, more manageable subcases allows you to process each subcase independently. This technique avoids loading a single large case into the user's session. For example, optimistic locking avoids the need to open parent cases when a subcase is opened. Each subcase opened in a separate PRThread instance executes asynchronously and independently of other cases.

Running service calls asynchronously

For any long-running service call, use the run-in-parallel option on the Connect method. This option allows the service call to run in a separate requestor session. When the service call runs in another requestor, users are not waiting for the service call to finish and can continue with other tasks.

Investigating PEGA0001 alerts

PEGA0001 alerts typically mask other underlying performance issues that can negatively impact the user experience. Leverage one of the Pega-provided performance tools such as AES or PDC to identify the underlying performance issue. Once you have identified the cause of the performance problem, redesign and implement a solution to address the problem.

Examples of alerts that are behind the PEGA0001 alert messages include:

  • PEGA0005 — Query time exceeds limit
  • PEGA0020 — Total connect interaction time exceeds limit
  • PEGA0026 — Time to connect to database exceeds limit
Tip: In general, avoid retrieving large result sets. Only retrieve the minimal information required for the task at hand.

Design practices to avoid

Avoid these design practices:

  • Misuse of list controls
  • Uncoordinated parallel development

Misusing of list controls

Misuse of list controls is a common problem that can easily be avoided during the design of a solution. Configure autocomplete controls to fetch data from data pages that never return more than 100 rows of data. Limit drop-down list boxes to no more than 50 rows of data.

Autocomplete controls negatively impact the user experience if:

  • The potential result set is larger than 100 rows
  • If all the results in the list start with the same three characters

Reduce the result set size for all list controls. If the result set size is longer than 100 rows, use a different UI component or data lookup mechanism. Source list controls from data pages that load asynchronously.

Uncoordinated parallel development

Uncoordinated parallel development efforts can also impact performance for the user. For example, multiple development teams could invoke the same web service returning the same result set multiple times and within seconds of each other. Multiple service calls returning the same result set waste CPU cycles and memory. To avoid this situation, devise a strategy for the development teams to coordinate web service calls through use of shared data pages.


If you are having problems with your training, please review the Pega Academy Support FAQs.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice