I was also thinking of the events. It would only affect writes and not reads
but ODE generate massive quantities of events by default. Deactivating those
would probably bring the numbers for persistent processes to something more
reasonable. And btw he's using the OpenJPA persistence layer, on which we
should do more tuning.

Cheers,
Matthieu

On Nov 30, 2007 7:31 AM, Alex Boisvert <[EMAIL PROTECTED]> wrote:

> Hi Vincent,
>
> Thanks for sharing!
>
> A couple of observations,
>
> 1) The performance with persistence (in-memory=false) seems low, I would
> generally expect something in the range of 30-60 txn/s.   It may be
> related
> to MySQL tuning, slow disks (are you running on a laptop?), or maybe point
> number 2 below.
>
> 2) The number of reads while executing persistent processes seems awfully
> high (15005 reads).  I can't explain this off the top of my head.   Maybe
> we've overlooked something in the persistence code.   Are you using JPA or
> Hibernate persistence?   (JPA is the default)
>
> 3) It's interesting to note that persistent processes are more than twice
> as
> CPU intensive as in-memory ones (590 sec. vs 247 sec).   The O/R mapping
> layer ain't cheap!  :)
>
> 4) Looks like we're doing a pretty good job on in-memory processes: 346
> txn/s!   But this begs a question on the type of hardware you used to run
> the benchmark....
>
> alex
>
>
> On 11/30/07, Vincent <[EMAIL PROTECTED]> wrote:
> >
> > Hi Alex,
> >
> > Thanks for the answer. As you'll notice, I changed my "nickname" for
> > my first name - this email is just
> > another-email-that-can-be-spammed-as-I-do-not-care-about ;o)
> >
> > I just wanted to share my experiment on the mailing list - it may be
> > useful one day for someone.
> >
> > I remind the context: BEA Weblogic Server 10.0 (WLS), Java 5, MySQL 5.
> > What I did was to demonstrate the feasibility and assess the
> > performances. So that's maybe not 100% clean.
> >
> > ========
> > 1- Create a TransactionManager factory.
> > As previously said, it is similar to the JBossFactory
> > (
> >
> http://svn.apache.org/repos/asf/ode/branches/APACHE_ODE_1.1/axis2/src/main/java/org/apache/ode/axis2/util/JBossFactory.java
> > )
> >
> > I attached this factory to this email, see WLSFactory.java.
> > Then add it somehow (either in an additional jar, or by updating ode's
> > war) to the WLS classpath.
> >
> > ========
> > 2-  Create the schema and tables in MySQL
> > + Download and install a MySQL server
> > + Create a schema called 'ode' and a user/pwd with appropriate
> > credentials (grant select, insert, delete and update).
> >
> > + Add to the ode schema the tables listed at
> >
> >
> http://mail-archives.apache.org/mod_mbox/ode-user/200706.mbox/raw/[EMAIL 
> PROTECTED]/2
> > .
> > To generate this schema, a rake build is mandatory, refer to the
> > mailing list:
> >
> http://mail-archives.apache.org/mod_mbox/ode-user/200706.mbox/[EMAIL 
> PROTECTED]
> >
> > + Then the tables listed in ODE src at:
> >
> >
> http://svn.apache.org/repos/asf/ode/branches/APACHE_ODE_1.1/dao-hibernate-db/src/main/sql/\simplesched-mysql.sql<http://svn.apache.org/repos/asf/ode/branches/APACHE_ODE_1.1/dao-hibernate-db/src/main/sql/%5Csimplesched-mysql.sql>
> > .
> >
> > I sumed-up in an ode.sql file all the tables and indexes to create. I
> > attached it to this email.
> >
> > ========
> > 3- Create the 'ode-axis2.properties' file
> > Add a ode-axis2.properties configuration file in ode.war/WEB-INF/conf
> > Assuming that the datasource jndi name is 'mysql.jdbc.odePool.OdePool'
> > and that the TransactionManager factory is
> > org.apache.ode.axis2.util.WLSFactory:
> >
> > ode-axis2.db.mode=EXTERNAL
> > # the datasource JNDI name:
> > ode-axis2.db.ext.dataSource=mysql.jdbc.odePool.OdePool
> > # the WLS TransactionManager factory:
> > ode-axis2.tx.factory.class=org.apache.ode.axis2.util.WLSFactory
> > # pay attention, the following class moved from
> > 'org.apache.ode.daohib.bpel' pkg to 'org.apache.ode.dao.jpa' :
> >
> ode-axis2.dao.factory=org.apache.ode.dao.jpa.BPELDAOConnectionFactoryImpl
> > # not sure it has smth to see with persistency, but I found it in an
> > example, so:
> > ode-axis2.message.replicate.emptyns=true
> >
> > ========
> > 4-  Create a datasource in WLS
> > + Download and add the MySQL JDBC driver to the WLS classpath.
> > + Start WLS and create a datasource (I defined the JNDI name as
> > mysql.jdbc.odePool.OdePool).
> >
> > ========
> > 5- Start WLS
> > And redeploy the BPEL processes, it should work.
> >
> > ========
> > Just few highlights about performances. I tried to figure out the
> > impact of the <in-memory> setting on the persistency management.
> > The following figures give a pretty good overview - but obviously they
> > deserve a more detailed study.
> >
> > I attach it to this email, see figures.txt.
> >
> > Regards,
> >
> > Vincent
> >
> >
>

Reply via email to