Configuration JVM pr 50 users simultanées / 100

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Member II

Configuration JVM pr 50 users simultanées / 100

Bonjour,

J'ai une question j'espére que quelqu'un pourra y répondre…

J'ai montée un alfresco 3.0 qui fonctionnne nikel, on commence les stress tests, et la JVM plante à 28users connectés en simultanée.
Ma JVM est certainement, même j'en suis sur mal configuré, est ce que quelqu'un connait un profiling JVM adapté?
voici ma config:

/usr/jdk/instances/jdk1.5.0/jre/../bin/java
-Dcom.sun.aas.instanceRoot=/export/home/glassfish/glassfish/….
-DHTTP_LISTENER_PORT=38080
-DHTTP_SSL_LISTENER_PORT=38181
-DIIOP_LISTENER_PORT=33700
-DIIOP_SSL_LISTENER_PORT=33820
-DIIOP_SSL_MUTUALAUTH_PORT=33920
-DJMS_PROVIDER_PORT=37676
-DJMX_SYSTEM_CONNECTOR_PORT=38686
-Dcom.sun.aas.ClassPathPrefix=
-Dcom.sun.aas.ClassPathSuffix=
-Dcom.sun.aas.ServerClassPath=
-Dcom.sun.aas.classloader.appserverChainJars.ee=
-Dcom.sun.aas.classloader.appserverChainJars=admin-cli.jar,admin-cli-ee.jar,j2ee-svc.jar
-Dcom.sun.aas.classloader.excludesList=admin-cli.jar,appserv-upgrade.jar,sun-appserv-ant.jar
-Dcom.sun.aas.classloader.optionalOverrideableChain.ee=
-Dcom.sun.aas.classloader.optionalOverrideableChain=webservices-rt.jar,webservices-tools.jar
-Dcom.sun.aas.classloader.serverClassPath.ee=/lib/hadbjdbc4.jar,/export/home/glassfish/glassfish/lib/SUNWjdmk/5.1/lib/jdmkrt.jar,/lib/dbstate.jar,/lib/hadbm.jar,/lib/hadbmgt.jar,/lib/mfwk_instrum_tk.jar
-Dcom.sun.aas.classloader.serverClassPath=/export/home/glassfish/glassfish/lib/install/applications/jmsra/imqjmsra.jar,/export/home/glassfish/glassfish/imq/lib/jaxm-api.jar,/export/home/glassfish/glassfish/imq/lib/fscontext.jar,/export/home/glassfish/glassfish/imq/lib/imqbroker.jar,/export/home/glassfish/glassfish/imq/lib/imqjmx.jar,/export/home/glassfish/glassfish/lib/ant/lib/ant.jar,/export/home/glassfish/glassfish/lib/SUNWjdmk/5.1/lib/jdmkrt.jar
-Dcom.sun.aas.classloader.sharedChainJars.ee=appserv-se.jar,appserv-ee.jar,jesmf-plugin.jar,/lib/dbstate.jar,/lib/hadbjdbc4.jar,jgroups-all.jar,/lib/mfwk_instrum_tk.jar
-Dcom.sun.aas.classloader.sharedChainJars=javaee.jar,/usr/jdk/instances/jdk1.5.0/jre/../lib/tools.jar,install/applications/jmsra/imqjmsra.jar,com-sun-commons-launcher.jar,com-sun-commons-logging.jar,/export/home/glassfish/glassfish/imq/lib/jaxm-api.jar,/export/home/glassfish/glassfish/imq/lib/fscontext.jar,/export/home/glassfish/glassfish/imq/lib/imqbroker.jar,/export/home/glassfish/glassfish/imq/lib/imqjmx.jar,/export/home/glassfish/glassfish/imq/lib/imqxm.jar,webservices-rt.jar,webservices-tools.jar,mail.jar,appserv-jstl.jar,jmxremote_optional.jar,/export/home/glassfish/glassfish/lib/SUNWjdmk/5.1/lib/jdmkrt.jar,activation.jar,appserv-rt.jar,appserv-admin.jar,appserv-cmp.jar,/export/home/glassfish/glassfish/updatecenter/lib/updatecenter.jar,/export/home/glassfish/glassfish/jbi/lib/jbi.jar,/export/home/glassfish/glassfish/imq/lib/imqjmx.jar,/export/home/glassfish/glassfish/lib/ant/lib/ant.jar,dbschema.jar
-Dcom.sun.aas.configName=autonome1_….-config
-Dcom.sun.aas.configRoot=/export/home/glassfish/glassfish/config
-Dcom.sun.aas.defaultLogFile=/export/home/glassfish/glassfish/nodeagents/webapp19/autonome1_…n/logs/server.log
-Dcom.sun.aas.domainName=domain1
-Dcom.sun.aas.installRoot=/export/home/glassfish/glassfish
-Dcom.sun.aas.instanceName=autonome1_…
-Dcom.sun.aas.processLauncher=SE
-Dcom.sun.aas.promptForIdentity=true
-Dcom.sun.appserv.pluggable.features=com.sun.enterprise.ee.server.pluggable.EEPluggableFeatureImpl
-Dcom.sun.enterprise.config.config_environment_factory_class=com.sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory
-Dcom.sun.enterprise.overrideablejavaxpackages=javax.help,javax.portlet
-Dcom.sun.enterprise.taglibs=appserv-jstl.jar,jsf-impl.jar
-Dcom.sun.enterprise.taglisteners=jsf-impl.jar
-Dcom.sun.updatecenter.home=/export/home/glassfish/glassfish/updatecenter
-Ddomain.name=domain1
-Djava.endorsed.dirs=/export/home/glassfish/glassfish/lib/endorsed
-Djava.ext.dirs=/usr/jdk/instances/jdk1.5.0/jre/../lib/ext:/usr/jdk/instances/jdk1.5.0/jre/../jre/lib/ext:/export/home/glassfish/glassfish/nodeagents/webapp19/autonome1_…n/lib/ext:/export/home/glassfish/glassfish/javadb/lib:/export/home/glassfish/glassfish/lib/jdbcdrivers
-Djava.library.path=/export/home/glassfish/glassfish/lib/amd64:/export/home/glassfish/glassfish/lib/amd64:/export/home/glassfish/glassfish/imq/lib/amd64::/export/home/glassfish/glassfish/lib:/export/home/glassfish/glassfish/lib:/export/home/glassfish/glassfish/lib
-Djava.security.auth.login.config=/export/home/glassfish/glassfish/nodeagents/webapp19/autonome1_…/config/login.conf
-Djava.security.policy=/export/home/glassfish/glassfish/nodeagents/webapp19/autonome1_…./config/server.policy
-Djava.util.logging.manager=com.sun.enterprise.server.logging.ServerLogManager
-Djavax.management.builder.initial=com.sun.enterprise.ee.admin.AppServerMBeanServerBuilder
-Djavax.net.ssl.keyStore=/export/home/glassfish/glassfish/nodeagents/webapp19/autonome1_d…n/config/keystore.jks
-Djavax.net.ssl.trustStore=/export/home/glassfish/glassfish/nodeagents/webapp19/autonome1_…./config/cacerts.jks
-Djdbc.drivers=org.apache.derby.jdbc.ClientDriver
-Djmx.invoke.getters=true
-Dsun.rmi.dgc.client.gcInterval=3600000
-Dsun.rmi.dgc.server.gcInterval=3600000
-server
-XX:+UnlockDiagnosticVMOptions
-d64
-Xms4096m
-XX:MaxPermSize=512m
-Xmx4096m
-XX:NewRatio=2
-XX:+LogVMOutput
-XX:LogFile=/export/home/glassfish/glassfish/nodeagents/webapp19/autonome1_…/logs/jvm.log
-cp


Quand le test a pété nous étions en 2Go de mémoire. Là c'est configuré en 4Go mais c'est du paramétrage à la louche, donc si c'était au mieux optimisé…
Je connais un projet qui pour accepter 200 user en alfresco2 ils ont mis une jvm 10Go.

Bref je suis dans le flou..

Merci pour vos reponses.
4 Replies
Highlighted
Member II

Re: Configuration JVM pr 50 users simultanées / 100

Bien sur les paramétres les plus importants seraient:
Heap size, size permanent, new ratio, survive ratio.

Merci
Highlighted
Member II

Re: Configuration JVM pr 50 users simultanées / 100

Il y a personne qui a des exemples de paramétrage JVM même avec moins ou plus d'utilisateur??
Smiley Sad
Highlighted
Member II

Re: Configuration JVM pr 50 users simultanées / 100

Pour info, voilà la config sur laquelle je me suis arrété.
Testé avec 300 000 documents, 200 users enregistrés, 60 en simultanée, connexion SSO, workflow de correction, resultat inferieur à 4s sur l'ensemble de l'appli:
d64 XX:CodeCacheMinimumFreeSpace=4M XX:ReservedCodeCacheSize=128M XX:NewSize=1024M Xbatch Xcomp verbose:gc XX:+PrintGCTimeStamps Xms4000m Xmx4000m XX:MaxTenuringThreshold=31 XX:+UseParNewGC XX:SurvivorRatio=5 XX:+UseConcMarkSweepGC XX:+CMSIncrementalMode XX:PermSize=256m XX:CMSInitiatingOccupancyFraction=80 XX:MaxPermSize=256m 

et pour lucene (fichier WEB-INF\classes\alfresco\web-client-config.xml ) resultat de recherche inferieur à la seconde (50user en simultanée):
  
     <!– Limit search results. -1 for unlimited. –>
       <search-max-results>500</search-max-results>
      
       <!– Limit search results within selectors, -1 for unlimited. –>
       <selectors-search-max-results>500</selectors-search-max-results>
      
       <!– Limit search results within invite users wizard, -1 for unlimited. –>
       <invite-users-max-results>500</invite-users-max-results>
Highlighted
Active Member

Re: Configuration JVM pr 50 users simultanées / 100

Pour info avoir le GC en verbose en prod ce n'est vraiment pas une bonne idée.
Les infos sur cette page sont pertinentes : http://wiki.alfresco.com/wiki/Repository_Hardware