cancel
Showing results for 
Search instead for 
Did you mean: 

Alfresco lenteur(s)

mamatov86
Champ in-the-making
Champ in-the-making

  Bonjour,

Je viens d'installer alfresco community 5.2 (Community - 5.2.0 (re21f2be5-b22) sur cet environnement :

VM (sous VMware) :

  • OS : Centos 7
  • RAM : 8 Go
  • CPU : 2 Vcpu  2.6 GHz

Alfresco Composants

  • Java
  • PostgreSQL
  • LibreOffice
  • Alfresco Content Services
  • Solr 4
  • Olfresco Office Services
  • Web Quick Start
  • Google Docs Integration

Java (/opt/alfresco-community/tomcat/bin/setenv.sh)

  • Xms : 4Go
  • Xmx : 4Go

Nginx : reverse proxy pour gérer le SSL

Je précise que c'est une plateforme de test avant une mise en production. Aucun utilisateur n'utilise Alfresco pour le moment.

Quand Alfresco démarre, j'ai remarqué une forte consommation du process Java (mes deux CPU étaient utilisés à 100%)

Au bout de 30 secondes environ la charge redevient normal.

Je lance une connexion sur https://mondomaine/share :

  • La page d'authentification arrive après 30 secondes
  • Je rentre mes identifiants et je dois encore attendre 30 secondes avant d'arriver sur mon dashboard
  • Je me déconnecte de la session, je rentre à nouveau mes identifiants et j'accède ensuite au mon dashboard instantanément.

=> Les lenteurs de connexion sont présente après un redémarrage de Alfresco. Est-ce que c'est normal ?

Si oui, c'est assez gênant car je compte faire chaque nuit une sauvegarde à froid et donc un redémarrage.

Je me demandais si on pouvait améliorer cela.

Une dernière chose, sans rien faire sur Alfresco, j'ai remarqué que le process Java prenait entre 20 et 50 % d'utilisation d'un coeur CPU en permanence. Est-ce que c'est un comportement normal ?

Merci d'avance pour vos réponses et vos conseils.

12 REPLIES 12

mamatov86
Champ in-the-making
Champ in-the-making

Bonjour Cris,

Pour la conf JVM, j'étais revenu en configuration initiale.

J'ai donc refais un test avec les 8 Go :

postgres  1820     1  0 10:03 ?        00:00:00 /opt/alfresco-community/postgresql/bin/postgres.bin -D /opt/alfresco-community/alf_data/postgresql
root      2085     1 49 10:03 ?        00:03:43 /opt/alfresco-community/java/bin/java -Djava.util.logging.config.file=/opt/alfresco-community/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms8G -Xmx8G -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -Djava.awt.headless=true -Dalfresco.home=/opt/alfresco-community -XX:ReservedCodeCacheSize=128m -Xms128m -Xmx1024m -XX:+DisableExplicitGC -Djava.awt.headless=true -Dalfresco.home=/opt/alfresco-community -Dcom.sun.management.jmxremote -Dsun.security.ssl.allowUnsafeRenegotiation=true -XX:ReservedCodeCacheSize=128m -Djdk.tls.ephemeralDHKeySize=2048 -Djava.endorsed.dirs=/opt/alfresco-community/tomcat/endorsed -classpath /opt/alfresco-community/tomcat/bin/bootstrap.jar:/opt/alfresco-community/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/opt/alfresco-community/tomcat -Dcatalina.home=/opt/alfresco-community/tomcat -Djava.io.tmpdir=/opt/alfresco-community/tomcat/temp org.apache.catalina.startup.Bootstrap start
postgres  2179  1820  0 10:05 ?        00:00:00 postgres: alfresco alfresco 127.0.0.1(36974) idle
postgres  2180  1820  0 10:05 ?        00:00:00 postgres: alfresco alfresco 127.0.0.1(36976) idle
postgres  2181  1820  0 10:05 ?        00:00:00 postgres: alfresco alfresco 127.0.0.1(36978) idle
postgres  2182  1820  0 10:05 ?        00:00:00 postgres: alfresco alfresco 127.0.0.1(36980) idle
postgres  2183  1820  0 10:05 ?        00:00:00 postgres: alfresco alfresco 127.0.0.1(36982) idle
postgres  2184  1820  0 10:05 ?        00:00:00 postgres: alfresco alfresco 127.0.0.1(36984) idle
postgres  2185  1820  0 10:05 ?        00:00:01 postgres: alfresco alfresco 127.0.0.1(36986) idle
postgres  2186  1820  0 10:05 ?        00:00:01 postgres: alfresco alfresco 127.0.0.1(36988) idle
postgres  2202  1820  0 10:05 ?        00:00:00 postgres: alfresco alfresco 127.0.0.1(36996) idle
root      2223  2085  0 10:05 ?        00:00:00 /opt/alfresco-community/libreoffice/program/.soffice.bin -accept=socket,host=127.0.0.1,port=8100;urp;StarOffice.ServiceManager -env:UserInstallation=file:///opt/alfresco-community/alf_data/oouser -headless -nocrashreport -nofirststartwizard -nologo -norestore
postgres  2477  1820  0 10:09 ?        00:00:00 postgres: alfresco alfresco 127.0.0.1(37690) idle
postgres  2478  1820  0 10:09 ?        00:00:00 postgres: alfresco alfresco 127.0.0.1(37692) idle
root      2494  2342  0 10:11 pts/0    00:00:00 grep --color=auto alfresco

Le top reste le même à l’ouverture de session. Une forte consommation CPU par JAVA :

En pièce jointe tu trouveras deux fichiers :

- /opt/alfresco-community/alfresco.sh

- /opt/alfresco-community/tomcat/bin/setenv.sh (c'est ici que j'ai fait des modifications sur la mémoire java)

Alfresco est démarré via le script opt/alfresco-community/alfresco.sh start

Merci

ycoulon
Employee
Employee

Bonjour,

Votre top met en avant la présence d'un processus zombie. Ce n'est probablement pas la cause de vos lenteurs mais cela ne peut pas faire de mal que de s'en occuper : Les processus Zombies sous Linux - Cedynamix 

Votre processus Alfresco tourne avec des options en double (exemple : ReservedCodeCacheSize), pourriez-vous nettoyer cela afin d'améliorer la lisibilité ?

Je pense que les lenteurs au démarrage doivent être du à des compilation internes à Alfresco/Share et tomcat. J'ai également remarqué une première connexion plus lentes que celle qui suivent. L'augmentation de la puissance de calcul (coeur sur ma VM Virtualbox) permet de réduire ce temps.

Je pense que les lenteurs viennent plus de l'application Share que du repo Alfresco en lui même (les appels au API ont des temps de réponse satisfaisant y compris suite à un arrêt/relance). Il pourraît être intéressant de l'externaliser (sur une autres instance tomcat / un autre serveur) et de le laisser tourner lors des sauvegardes mais de bloquer l'accès lors des phases de sauvegarde (via un reverse-proxy par exemple).

Y.

mamatov86
Champ in-the-making
Champ in-the-making

Bonjour Yann,

Merci pour votre aide.

Actuellement, je n'ai plus de processus Zombies, cela devait être un phénomène temporaire.

Pour les options en doublon, est-que vous savez ou chercher pour les supprimer ?

J'ai installé Alfresco sans modifier la conf java (sauf le fichier /opt/alfresco-community/tomcat/bin/setenv.sh pour augmenter la mémoire).

Pour les lenteurs, actuellement Alfresco tourne sur une VM avec 4 vcpu de 2.6 GHz et 16 Go de ram.

Je trouve que c'est déjà une belle machine quand je regarde les recommandations minimum.

J'ai essayé de doubler les CPU (8 vcpu) et le temps de chargement est toujours aussi long après un redémarrage. Même chose si j'attends par exemple 24 heures entre 2 sessions.

Merci pour tes recommandations pour externaliser le tomcat. Je me demande maintenant simplement si Alfresco est la bonne solution logicielle pour mes besoins. Comme je ne veux pas mettre en place du Workflow, j'ai juste besoin d'un logiciel qui gère bien les droits d’accès pour stocker mes fichiers.

En tout cas, un grand merci pour votre aide et vos conseils.