Search code examples
linuxperformancetomcatjvmalfresco

Alfresco 5.2 high CPU utilization & application slow performance


Recently we have upgraded alfresco to 5.2.G with Solar4 , Tomcat Version 7.0.78 ,java version "1.8.0_111" environment -- RHEL -7 ,Virtual machine , 32 core CPU ,32 GB RAM application is started without errors but with in 2 -3 hours application performance is slow & getting high CPU utilization.

Can anyone suggest what are basic tuning parameters need to change in OS & JVM & Alfresco & solar LEVEL, below are the JVM arguments add in tomcat:

JAVA_OPTS="-server -Xms24576m -Xmx24576m -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC
  -XX:+CMSIncrementalMode -XX:CMSInitiatingOccupancyFraction=80 -XX:+UseParNewGC
  -XX:ParallelGCThreads=6 -XX:+UseCompressedOops -XX:+CMSClassUnloadingEnabled
  -Djava.awt.headless=true -Dalfresco.home=/opt/new/alfresco -Dcom.sun.management.jmxremote
  -Dsun.security.ssl.allowUnsafeRenegotiation=true -XX:ReservedCodeCacheSize=2048m"

& alfresco-global.properties (line breaks added for readability) :

cifs.serverName=?
system.thumbnail.generate=false
system.enableTimestampPropagation=false
system.workflow.engine.activiti.enabled=false
sync.mode=OFF,system.workflow.engine.jbpm.enabled=false
removed-index.recovery.mode=FULL

Solution

  • I had a similar issue. Keep in mind that when checking CPU for multi-core CPU's using 'top' command, it shows the combined CPU usage over all the cores. To show individual cores press '1'.

    I also applied the patch suggested above but it didnt show much difference (also there is an issue with that patch for Alfresco 5.2.g).

    I then tried re-indexing all my content which seemed to speed up things a lot.

    There is still a lot of usage but only during working hours. Once everyone goes home, it returns back to almost 0% usage

    Another thing that really slowed my Alfresco response was a corrupted meta-data database. After I restored a backup, it performed much faster.

    I also disabled a lot of unnecessary features including generation of thumbnails