Support Article

Application performance decreases over a period of time

SA-12920

Summary



Performance degrades over a period of time and the system takes longer time for processing requests. Restarting the application server instance resolves the behaviour. 

 

Error Messages



Thread[http-bio-8080-exec-2,5,main]
                sun.misc.Unsafe.park(Native Method)
                at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
                at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireNanos(AbstractQueuedSynchronizer.java:929)
                at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireNanos(AbstractQueuedSynchronizer.java:1245)
                at com.pega.jsr166backport.java.util.concurrent.locks.ReentrantLock.tryLock(ReentrantLock.java:422)
                at com.pega.pegarules.session.internal.mgmt.base.RequestorThreadSync.lockAttempt(RequestorThreadSync.java:408)
                at com.pega.pegarules.session.internal.mgmt.PRRequestorImpl.lockAttempt(PRRequestorImpl.java:860)

                …             
                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
                at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)


Steps to Reproduce



There is no specific use case to replicate the behaviour.

Root Cause



The enclosed are the observations from the PegaRULES and PegaALERT files:
 

  • System was appearing to be slow due to the increased browser response time, indicated by the huge number of PEGA0001 alerts followed by PEGA005. PEGA0005 alerts are due to the database query taking longer time to execute PC_EVENTS table. It’s a news feed table for business events information occurring within the PRPC instance. Items are created either by Complex Event Processing or Rule saves; other business process may add instances to this table. This table supports the Designer Studio’s What’s Happening display, RSS feed and the Recent Actions gadget.
  • Alerts indicating queries being executed from the cache tables taking longer time to execute. 
  • PegaRULES logs indicating the thread dumps while accessing the connections from the connection pool.

The below thread dumps are observed when there are any database operations like truncation or deletion and the database statistics are not updated.

Thread[http-bio-8080-exec-2,5,main]
                sun.misc.Unsafe.park(Native Method)
                at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
                at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireNanos(AbstractQueuedSynchronizer.java:929)
                at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireNanos(AbstractQueuedSynchronizer.java:1245)
                at com.pega.jsr166backport.java.util.concurrent.locks.ReentrantLock.tryLock(ReentrantLock.java:422)
                ...
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
                at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)


 

Resolution



Perform the below changes:

1. Truncate the PC_EVENTS table by taking the database table back-up and recreating the indexes on the table.

2. Enclosed prconfig.xml settings are recommeneded  to keep the user data in the cache for a little longer configured time to avoid frequent querying from database.

            <env name="fua/global/instanceCountLimit" value="40000" />
           <env name="fua/shared/instanceCountLimit" value="39000" />
           <env name="fua/personal/instanceCountLimit" value="38000" />
           <env name="conclusioncache/fieldvalue/minimumsize" value="2000" />


3. Perform the database statistics update for all the tables considering recent updates to the tables.
Suggest Edit

Published August 14, 2015 - Updated October 8, 2020


0% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.