Benchmark Alfresco 3.3

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

Benchmark Alfresco 3.3

Buenas tardes,

Estoy intentando ver el rendimiento de un servidor de Alfresco 3.3, he seguido los pasos que se comentan en la wiki de Alfresco: http://wiki.alfresco.com/wiki/Server_Benchmarks , pero al lanzarlo obtengo el siguiente error:


A failure prevented proper execution.
java.lang.NullPointerException
        at java.io.File.<init>(File.java:222)
        at org.alfresco.repo.model.filefolder.loader.FileFolderRemoteLoader.makeSession(FileFolderRemoteLoader.java:164)
        at org.alfresco.repo.model.filefolder.loader.FileFolderRemoteLoader.initialize(FileFolderRemoteLoader.java:69)
        at org.alfresco.repo.model.filefolder.loader.FileFolderRemoteLoader.main(FileFolderRemoteLoader.java:386)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.simontuffs.onejar.Boot.run(Boot.java:287)
        at com.simontuffs.onejar.Boot.main(Boot.java:137)

Los parámetros con los que hago la llamada son:
java -Xmx128M -jar alfresco-bm-3.3.jar –username=admin –password=admin –config=test.properties

Mi fichero de propiedades (test.properties) es el siguiente:

session.name=TEST
Session.sourceDir=/opt/jboss/actuacion/loadTest/test
session.rmiUrls=rmi://localhost:50500/
session.storeIdentifiers=workspaceStore
session.folderProfile=1, 5

test.load.upload.fast=2, 0, 1, 2, true, 1
test.load.totals.basic=1, 15000, 0, 1, true

¿Alguien ha lanzado este benchmark?

Saludos y muchas gracias de antemano por cualquier ayuda que puedan prestarme.
6 Replies
jmbarroso
Member II

Re: Benchmark Alfresco 3.3

El error estaba en una 'S' en mayúscula del fichero test.properties.

Ahora obtengo otro error:
    java -Xmx128M -jar alfresco-bm-3.3.jar –username=admin –password=admin –config=test.properties

    ERROR: Failed to establish connection to server:
       Server: rmi://localhost:50500/
       Error:  org/aopalliance/intercept/MethodInterceptor
    java.lang.NoClassDefFoundError: org/aopalliance/intercept/MethodInterceptor
            at java.lang.ClassLoader.defineClass1(Native Method)
            at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
            at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
            at com.simontuffs.onejar.JarClassLoader.defineClass(JarClassLoader.java:626)
            at com.simontuffs.onejar.JarClassLoader.findClass(JarClassLoader.java:532)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
            at java.lang.ClassLoader.defineClass1(Native Method)
            at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
            at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
            at com.simontuffs.onejar.JarClassLoader.defineClass(JarClassLoader.java:626)
            at com.simontuffs.onejar.JarClassLoader.findClass(JarClassLoader.java:532)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
            at org.alfresco.repo.remote.FileFolderRemoteClient.connect(FileFolderRemoteClient.java:61)
            at org.alfresco.repo.remote.FileFolderRemoteClient.<init>(FileFolderRemoteClient.java:55)
            at org.alfresco.repo.model.filefolder.loader.LoaderSession.connect(LoaderSession.java:189)
            at org.alfresco.repo.model.filefolder.loader.LoaderSession.initialize(LoaderSession.java:122)
            at org.alfresco.repo.model.filefolder.loader.FileFolderRemoteLoader.makeSession(FileFolderRemoteLoader.java:226)
            at org.alfresco.repo.model.filefolder.loader.FileFolderRemoteLoader.initialize(FileFolderRemoteLoader.java:69)
            at org.alfresco.repo.model.filefolder.loader.FileFolderRemoteLoader.main(FileFolderRemoteLoader.java:386)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at com.simontuffs.onejar.Boot.run(Boot.java:287)
            at com.simontuffs.onejar.Boot.main(Boot.java:137)
    Caused by: java.lang.ClassNotFoundException: org.aopalliance.intercept.MethodInterceptor
            at com.simontuffs.onejar.JarClassLoader.findClass(JarClassLoader.java:535)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
            … 27 more
    No remote servers are available

No entiendo que puede estar fallando porque tengo el puerto RMI 50500 a la escucha:
    netstat -a | grep 50500
    tcp        0      0 *:50500                     *:*                         LISTEN  

y añadí a la carpeta '/WEB-INF/classes/alfresco/extension/ '  el fichero bm-remote-loader-context.xml , tal y como se comenta en la wiki. El fichero  bm-remote-loader-context.xml  tiene el siguiente contenido:

    cat bm-remote-loader-context.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN//EN"
        "http://www.springframework.org/dtd/spring-beans.dtd">

    <beans>
      
        <!– Remote FileFolderService exposure –>

        <bean id="fileFolderRemoteServer" class="org.alfresco.repo.remote.FileFolderRemoteServer">
            <property name="transactionService">
                <ref bean="TransactionService"/>
            </property>
            <property name="fileFolderService">
                <ref bean="FileFolderService"/>
            </property>
            <property name="authenticationService">
                <ref bean="AuthenticationService"/>
            </property>
            <property name="mimetypeService">
                <ref bean="MimetypeService"/>
            </property>
        </bean>
      
        <bean id="fileFolderRemoteRMI" class="org.springframework.remoting.rmi.RmiServiceExporter">
            <property name="service">
                <ref bean="fileFolderRemoteServer"/>
            </property>
            <property name="serviceInterface">
                <value>org.alfresco.service.cmr.remote.FileFolderRemote</value>
            </property>
            <property name="serviceName">
                <value>org.alfresco.FileFolderRemote</value>
            </property>
            <property name="registryPort">
                <value>${alfresco.rmi.services.port}</value>
            </property>
        </bean>
      
        <!– Remote Loader exposure –>

        <bean id="loaderRemoteServer" class="org.alfresco.repo.remote.LoaderRemoteServer">
            <property name="transactionService">
                <ref bean="TransactionService"/>
            </property>
            <property name="authenticationService">
                <ref bean="AuthenticationService"/>
            </property>
            <property name="nodeService">
                <ref bean="NodeService"/>
            </property>
            <property name="nodeDaoService">
                <ref bean="nodeDaoService"/>
            </property>
            <property name="fileFolderService">
                <ref bean="FileFolderService"/>
            </property>
            <property name="mimetypeService">
                <ref bean="MimetypeService"/>
            </property>
            <property name="checkOutCheckInService">
                <ref bean="CheckoutCheckinService"/>
            </property>
            <property name="fileFolderRemote">
                <ref bean="fileFolderRemoteServer"/>
            </property>
        </bean>
      
        <bean id="loaderRemoteServerRMI" class="org.springframework.remoting.rmi.RmiServiceExporter">
            <property name="service">
                <ref bean="loaderRemoteServer"/>
            </property>
            <property name="serviceInterface">
                <value>org.alfresco.service.cmr.remote.LoaderRemote</value>
            </property>
            <property name="serviceName">
                <value>org.alfresco.LoaderRemote</value>
            </property>
            <property name="registryPort">
                <value>${alfresco.rmi.services.port}</value>
            </property>
        </bean>
      
    </beans>

¿Alguna idea de lo que puedo estar haciendo mal en activar los servicios RMI de Alfresco?

Gracias de antemano !!
rmacian
Member II

Re: Benchmark Alfresco 3.3

Hola jmbarroso,

deja de darte cabezazos contra la pared. Se trata de un bug en la versión 3.3

http://issues.alfresco.com/jira/browse/ALF-2224
http://issues.alfresco.com/jira/browse/ALF-4015

Smiley Wink
jmbarroso
Member II

Re: Benchmark Alfresco 3.3

Cierto, muchas gracias.

Sólo tenía que agregar la librería aopalliance.jar al classpath.

Aunque ahora obtengo otro error, que también parece ser un bug: ALF-5733
El error es este:

java -classpath '.:/opt/jboss/actuacion/loadTest/aopalliance.jar:/opt/jboss/actuacion/loadTest/alfresco-bm-3.3.jar' com.simontuffs.onejar.Boot –username=admin
–password=admin –config=test.properties

ERROR: Failed to establish connection to server:
   Server: rmi://localhost:60600/
   Error:  Could not find RMI service [rmi://localhost:60600/org.alfresco.FileFolderRemote] in RMI registry; nested exception is java.rmi.NotBoundException: org.alfresco.FileFolderRemote
org.springframework.remoting.RemoteLookupFailureException: Could not find RMI service [rmi://localhost:60600/org.alfresco.FileFolderRemote] in RMI registry; nested exception is java.rmi.NotBoundException: org.alfresco.FileFolderRemote
        at org.springframework.remoting.rmi.RmiClientInterceptor.lookupStub(RmiClientInterceptor.java:211)
        at org.springframework.remoting.rmi.RmiClientInterceptor.prepare(RmiClientInterceptor.java:147)
        at org.springframework.remoting.rmi.RmiClientInterceptor.afterPropertiesSet(RmiClientInterceptor.java:135)
        at org.springframework.remoting.rmi.RmiProxyFactoryBean.afterPropertiesSet(RmiProxyFactoryBean.java:68)
        at org.alfresco.repo.remote.FileFolderRemoteClient.connect(FileFolderRemoteClient.java:65)
        at org.alfresco.repo.remote.FileFolderRemoteClient.<init>(FileFolderRemoteClient.java:55)
        at org.alfresco.repo.model.filefolder.loader.LoaderSession.connect(LoaderSession.java:189)
        at org.alfresco.repo.model.filefolder.loader.LoaderSession.initialize(LoaderSession.java:122)
        at org.alfresco.repo.model.filefolder.loader.FileFolderRemoteLoader.makeSession(FileFolderRemoteLoader.java:226)
        at org.alfresco.repo.model.filefolder.loader.FileFolderRemoteLoader.initialize(FileFolderRemoteLoader.java:69)
        at org.alfresco.repo.model.filefolder.loader.FileFolderRemoteLoader.main(FileFolderRemoteLoader.java:386)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.simontuffs.onejar.Boot.run(Boot.java:287)
        at com.simontuffs.onejar.Boot.main(Boot.java:137)
Caused by: java.rmi.NotBoundException: org.alfresco.FileFolderRemote
        at sun.rmi.registry.RegistryImpl.lookup(RegistryImpl.java:106)
        at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
        at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:386)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:250)
        at sun.rmi.transport.Transport$1.run(Transport.java:159)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
        at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
        at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
        at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
        at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:359)
        at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
        at java.rmi.Naming.lookup(Naming.java:84)
        at org.springframework.remoting.rmi.RmiClientInterceptor.lookupStub(RmiClientInterceptor.java:200)
        … 16 more
No remote servers are available

Esto se complica, creo que voy a intentar probar la versión 3.4 de alfresco-bm-XX.jar. Espero que pueda usar la versión 3.4 del benchmark sobre un servidor alfresco 3.3.

Saludos !!

[EDITO] Usando la versión la versión obtenida de alfresco-community-3.4.d.zip obtengo el mismo error. ¿Alguna idea de como puedo solventarlo?

Gracias !!!
rmacian
Member II

Re: Benchmark Alfresco 3.3

Haz una prueba rápida, monta una 3.4 y usa los mismos valores.  Yo probaria a poner de nuevo el puerto rmi en el 50500 no sea que haya algo forzado…

A mi me ha funcionado.:

# java -Xmx128M -jar alfresco-bm.jar –username=admin –password=admin –config=/opt/alfresco34e/bin/test.properties
Running test TEST.
   Enter 'q' to quit.
   Enter 's' to dump a thread summary.
s

                                    NAME             COUNT        TOTAL TIME      AVERAGE TIME        PER SECOND       DESCRIPTION
                   test.load.upload.fast                 2             0,308             0,154             6,492   1 files per iteration
                   test.load.upload.fast                 2             0,302             0,151             6,623   1 files per iteration
jmbarroso
Member II

Re: Benchmark Alfresco 3.3

Haz una prueba rápida, monta una 3.4 y usa los mismos valores.  Yo probaria a poner de nuevo el puerto rmi en el 50500 no sea que haya algo forzado…

A mi me ha funcionado.:

# java -Xmx128M -jar alfresco-bm.jar –username=admin –password=admin –config=/opt/alfresco34e/bin/test.properties
Running test TEST.
   Enter 'q' to quit.
   Enter 's' to dump a thread summary.
s

                                    NAME             COUNT        TOTAL TIME      AVERAGE TIME        PER SECOND       DESCRIPTION
                   test.load.upload.fast                 2             0,308             0,154             6,492   1 files per iteration
                   test.load.upload.fast                 2             0,302             0,151             6,623   1 files per iteration

Para activar la interfaz RMI de Alfresco que ataca el benchmark, ¿Sólo copiaste el fichero bm-remote-loader-context.xml en  WEB-INF/classes/alfresco/extension? o ¿hay que hacer algo más?

Saludos !!
jmbarroso
Member II

Re: Benchmark Alfresco 3.3

He copiado bm-remote-loader-context.xml en una instalación limpia de Alfresco y con el benchmark de la distribución 3.4 de Alfresco he podido lanzar las pruebas.
Ahora sólo me queda poder lanzar las pruebas desde una maquina remota, pero eso es otro problema diferente.

Muchas gracias a todos por la ayuda!