Support Article
Performance degrades during screen to screen transition
SA-52924
Summary
In Pega 7.3.1, performance degrades when performing the following:
- Screen to screen transitions
- Rule Save operations
- User logins
Error Messages
Not Applicable
Steps to Reproduce
Start the application.
Root Cause
Two causes were found for the performance issues:
- Database performance degrades due to the Pega code: According to the log, the Process Commander repeatedly performs a MetaData query to retrieve PegaRULES database table attribute information. Due to the frequency (approximately once per second), these queries in the database take time to execute.
- Database Performance issues due to missing Pega Indexes: Eight additional requisite INDEXes were identified from the provided ALERT log data.
Resolution
- Apply HFIX-39821 (for database performance degradation due to Pega code).
- Provide the following database INDEXes.
DROP INDEX RULES.PR_SYS_APP_HIERARCHY_FLAT_IDX1;
CREATE INDEX
RULES.PR_SYS_APP_HIERARCHY_FLAT_IDX1
ON
RULES.PR_SYS_APP_HIERARCHY_FLAT
(
PZTOPAPPHASH ASC,
PZAPPHASH ASC,
PZAPPHEIGHT ASC,
PZAPPNAME ASC
);
CREATE INDEX
RULES.PR4_RULE_VW_IDX07
ON
RULES.PR4_RULE_VW
(
PXINSID ASC,
PXOBJCLASS ASC,
PYCIRCUMSTANCETYPE ASC,
PYCLASS ASC,
PYCLASSNAME ASC,
PYRULEAVAILABLE ASC,
PYRULEENDS ASC,
PYRULESET ASC,
PYRULESETVERSION ASC,
PYRULESTARTS ASC,
PZCLASSTYPE ASC,
PZINSKEY ASC,
PZRULESETVERSIONMAJOR ASC,
PZRULESETVERSIONMINORPATCH ASC
);
CREATE INDEX
DATA.PR4_LOG_DETAIL_IDX2
ON
DATA.PR4_LOG_RULE_USAGE_DETAILS
(
PXOBJCLASS ASC,
PXSYSTEMNODE ASC,
PYLABEL ASC
);
DROP INDEX RULES.PR4_RULE_DP_OBJCLASS;
DROP INDEX RULES.PR4_RULE_DP_PYCLASSNAME;
DROP INDEX RULES.PR4_RULE_DP_OC_CN;
CREATE INDEX
RULES.PR4_RULE_DP_OC_CN
ON
RULES.PR4_RULE_DECLAREPAGES
(
PZINSKEY ASC,
PXOBJCLASS ASC,
PYCLASSNAME ASC
);
DROP INDEX RULES.PR_DATASOURCE_TYPE;
CREATE INDEX
RULES.PR_DATASOURCE_TYPE
ON
RULES.PR_INDEX_DATASOURCES
(
PXOBJCLASS ASC,
PYDECLAREPAGESDATASOURCE ASC,
PXINSINDEXEDKEY ASC,
PXINDEXPURPOSE ASC
);
CREATE INDEX
RULES.PR_DATA_RULEAPPMTADTA_IDX01
ON
RULES.PR_DATA_RULE_APPMETADATA
(
PYAPPNAME ASC,
PYAPPVERSION ASC,
PXOBJCLASS ASC,
PYMETADATAKEY ASC
);
CREATE INDEX
RULES.PR4_RULE_RULESET_BRANCH1
ON
RULES.PR4_RULE_RULESET
(
PXOBJCLASS ASC,
PYVERSIONSECURE ASC,
PYRULESET ASC,
PYRULESETVERSIONID ASC
);
CREATE INDEX
RULES.PR4_RULE_SHORTCUT_IDX2
ON
RULE.PR4_RULE_SHORTCUT
(
PZINSKEY ASC,
PYOWNER ASC,
PYOWNERTYPE ASC,
PXOBJCLASS ASC
);
Published February 27, 2019 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.