Performance features in PRPC 6.3
Continuing progress on an ongoing product commitment, PRPC 6.3 includes numerous performance enhancements, improving the user experience for application users, application developers, and those who upgrade PRPC systems. For most of these changes, the improvements are automatic and require no configuration changes. This page highlights only the most visible changes, but 6.3 users will notice improved performance in many areas.
Application-Based Assembly mode
A new cache, known as the Application-Based Assembly (ABA) cache, provides a notable first-use performance benefit and decreases memory use for applications that employ it. Application based assembly leverages the application hierarchy to optimize caching for each access group. Use of this cache is automatic for new applications developed in 6.3+, and is available for most applications developed in releases before 6.3.
Because the ordering of a user's RuleSet list when in the ABA mode can differ — in uncommon special situations — from the order of the RuleSet list in previous PRPC releases, a fully backwards compatible option is available. System Administrators can use the Cache Customization option on the Access Group to configure each access group to use ABA or the pre-6.3 Rules Assembly caching method.
See When to use — and when not to use — ABA mode for application performance.
Transient Properties
Where appropriate, you can mark a property as transient, meaning that the property is a temporary property only needed for current runtime computations. Transient properties are not persisted in the database, saving database storage and reducing network and database traffic.
When a page containing a transient property is committed to the database, transient property values are first removed from the clipboard. These values are not saved in the database, but must be recomputed if needed later.
Lookup JSP tag
Performance of the lookup JSP tag is improved. When new 6.3 operations are enabled, the lookup tag no longer extracts a property value from the BLOB column when the value is also available as an exposed database column. In addition, the values of such extracted properties are saved temporarily on a clipboard page (similar to the linked property mechanism).
You must create a dynamic system setting to enable this feature.
See Enable UDF feature in JSP Lookup tag for best performance.
Static assembler landing page
Introduced with 6.1, the static assembler allows a system administrator to pre-assemble the rules in an entire application, eliminating the need for on-request assembly when the rule is first used, and so improving user experience and response time. In 6.1 and 6.2, the static assembler was available only through the command line interface.
In 6.3 you can directly run the static assembler from a landing page. This operation can be performed and the results become available to users immediately, without bringing down the system.
Performance tool
The accuracy of the Performance tool (PAL) statistics have improved, so that less elapsed time and less CPU time is unaccounted for. Time (and CPU time) spent performing SQL operations on the PegaRULES database is now reported separately from results for external databases accessed through Connect SQL rules. Time (and CPU time) spent by the internal engine on seeking to avoid rules assembly by qualifying and finding existing Java code for a specific rule is now visible.
Other performance enhancements
- In-browser user interactions with Process Modeler diagrams, Discovery Map diagrams, and Strategy Maps are faster.
- In a multinode cluster, full text searches are faster, due to use of Connect HTTP rules rather than Connect SOAP rules.
- For report definition rules, the generated SQL queries are cached, for faster reuse.
- Property Call Optimization - property rules have been rewritten to improve performance.
- Reduced trips to database - Requestor locks expire only when Obj-Refresh-Lock has been called after the expiration has passed reducing database traffic.
Previous topic Designing and Building for Performance Next topic How to improve response by distributing static content to remote edge servers