Hi,
We are using Jonas for a client (Visa Argentina - a subsidiary of Visa
International) as a backend for 3 Web applications (The servlet container is
Enhydra). Jonas is running in a Sun E-240 with 1 CPU (Enhydra is running in
2 E-240 with 2 CPU) and we have not experienced any performance problems.
Initially we had to tune each bean's transaction attributes to minimize
transaction creation(we ended with a lot of Supports, some Requires, and no
RequiresNew attributes). We also had to replicate all possible data to the
client and had to define aggregated methods to minimize remote calls, but
this is common to all distributed systems, not only EJB. This was our first
EJB project, and we took most of the performance tips from
www.theserverside.com pattern section.
Now with only one EJB server (an one backup server) we are handling most
of Visa's web application traffic. We are using SQLServer as DBMS and a
propietary API to connect to an IBM mainframe.
I hope that this helps to show that Jonas is fast enough.
Diego Salazar
[EMAIL PROTECTED]
TE:+54-11-48073071
www.teradev.com.ar
----- Original Message -----
From: "Philippe Durieux" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Friday, June 29, 2001 12:20 PM
Subject: Re: Performance Problem
> [EMAIL PROTECTED] wrote:
> >
> > We tried Jeremie as well. The problem is that Jeremie speeds up, but
still it is so slow that I cannot believe that there is no bug. With RMI we
have a rate
> > of 45 method calls per second. With Jeremie, there are about 70. This is
near to 200%, but still this is quite slow. I think there is either a bug in
JOnAS
> > (can someone give me a tip where to look in the code?) or I have done
something wrong. Maybe I have to register the entity bean as a reference to
the session
> > bean or something, so that JOnAS knows that both are located in the same
VM?
>
> I don't think JOnAS is particularly slow, comparatively to other
Application Servers.
> I think that simply using EJBs instead of direct code has a cost. For
example, every
> finder method will search in the database (it's in the EJB spec) for the
bean instance.
> USing Jeremie in place of RMI will just avoid overhead due to bean-to-bean
communications
> when both beans are in the same JVM, but it will not avoid database
accesses for example.
> >
> > >
> > > Maybe you should try Jeremie instead of RMI, since you only have local
communications.
> > >
> > > Bruno
> > >
> > > [EMAIL PROTECTED] wrote:
> > >
> > > > Hello JOnAS users,
> > > >
> > > > I have some trouble with performance, maybe you can give me some
tips. I did the following:
> > > >
> > > > Standalone Client Software that uses implicit transaction control
(no user transactions).
> > > > Stateful Session Bean that has a method doSomething. This method is
marked as "RequiresNew". This method does a findByPrimaryKey on an
EntityBean, then >
> > does
> > > > four different getXXX calls against the found instance, each
delivering simple types as double, int, or a small String (50 characters).
Then it packs >
> > this
> > > > data together in a flat object (Value Object) to return this data as
the method's result.
> > > >
> > > > This should perform very fast, as we have no direct communication
between client and entity bean, and transaction is controlled by server to
start TX >
> > when
> > > > method is called, and to commit TX when method is through.
> > > >
> > > > But it ain't performing well. With client and servers (JOnAS, Sybase
SQL Anywhere 7) on the same machine, running RMI, we only get a throughput
of 34 >
> > method
> > > > calls per second. The database table only holds three records and
the primary key class is correctly set to match the table's PK, and there is
an index >
> > on
> > > > that table's PK.
> > > >
> > > > When we comment out the findByPrimaryKey and getXXX, so that the
method is a dummy only, we get about 600 method calls per second (including
TX begin and
> > > > commit).
> > > >
> > > > When we only do the findByPrimaryKey, and comment out the getXXX
methods, we have only 45 method calls per second. So it seems that the
finder needs lot
> > > of
> > > > time, even if the data is not changed and JOnAS should be able to
find the bean in memory.
> > > >
> > > > Can anyone give us some hint what we can improve? It's really a
simple, small, tiny example that we run, no heavy load, no big data, no lots
of data. It
> > > > cannot be true that on a P-III 450 we only can get 31 method calls
per second...?!
> > > >
> > > > Thank you for every tip!
> > > >
> > > > Markus
> > >
> >
> > To: [EMAIL PROTECTED]
> > Cc: [EMAIL PROTECTED]
>
> --
> Philippe Durieux ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Bull - 1 rue de Provence - 38432 Echirolles Cedex France
> [EMAIL PROTECTED]
> -> Download our EJBServer at http://www.evidian.com/ejb <-
> ----
> To unsubscribe, send email to [EMAIL PROTECTED] and
> include in the body of the message "unsubscribe jonas-users".
> For general help, send email to [EMAIL PROTECTED] and
> include in the body of the message "help".
----
To unsubscribe, send email to [EMAIL PROTECTED] and
include in the body of the message "unsubscribe jonas-users".
For general help, send email to [EMAIL PROTECTED] and
include in the body of the message "help".