Hello Georg,

Do you mean that your slowness problem occurs when accessing the collection
*even* in mono-threaded behaviour? If I understand your scenario, you have
something like this:

 - a web page that display the content of 4000 entity beans (either directly
or using a SLSB)
 - the entity beans are loaded at once (no N+1 issue wrt data loading)
 - everything occurs in a single transaction
 - you hit the refresh page of your browser (i.e. only 1 access on the whole
system)
 - you get really bad data at the synchronisation level. Right?

As what you describes seems to be an experiment, do you have a very small
example (EAR) that contains:
 - the CMP that you use
 - a servlet/JSP that uses direct JDBC call to retrieve this data (with a
time counter)
 - a servlet/JSP that uses the CMP to retrieve the data (with a time
counter)
 - this would be using the embedded HSQL DB
 - a servlet/JSP that can be used to populate the DB with dummy values

Maybe, if we are lucky, you already have this small setup ready: would you
agree to send it?

cheers,


                        Sacha

> My problem is: Creating value objects through calling a method on an
> CMP2.0 entity bean takes 3 to 10 times more time than walking through an
> equivalent result set of a 'raw' JDBC query. I tried to dig into this
> issue by stripping down the interceptor stack !as an experiment! to the
> bare minimum. The result of this experiment was, that the
> EntitySynchronizationInterceptor is the only interceptor, that changes
> performance significantly in my setup. Removing the transaction or
> security interceptors did not have any significant impact.
>
> Getting the data from the database into the Jboss server memory is not
> the problem. The finder I am using for testing returns a result set with
> 1000 rows. It uses the default load group. This means that all data is
> in memory after the finder has completed, which takes only a few hundred
> milliseconds, just like issuing a "select * from BeanTable". For this
> reason playing around with page sizes and load groups etc. is pointless.
> My experience is that locking has no measurable effect on the
> performance (the performance test is strictly single-user).
>
> The time is lost when I walk through the collection of entity beans
> returned by the finder and call a method on each to create the value
> objects (one method call per value object). Others have come to the same
> conclusion, but I have not found a post that points to a solution of
> this problem.
>
> I really would like to be able to do a web page, that displays at most
> about 4000 rows, using entity beans and CMP2.0. But with the current
> performance I have to switch to direct JDBC calls in my stateless
> session beans every time I have to display more than 500 rows (Jboss
> 3.0.3 running on a dual UltraSparcIII with 4GB memory and an Oracle db
> on similar hardware).



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to