You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-user@db.apache.org by Edson Carlos Ericksson Richter <ed...@mgrinformatica.com.br> on 2004/03/15 15:05:28 UTC

OJB performance tip

Hi! Just to share with you all our latest experiences about performance.

After three days working on OJB performance optimization for our Swing app,
I've achieved a formula that fits near all our cases (look, it may not fit
your need).

We are not using proxyies for everthing anymore. Today, all objects are not
proxy, and references are not proxies too (99,9% of cases). Only collections
(the ones you be absolutely right that will not always need data) will
receive proxy="true". Example, a customer in 90% of the cases will need the
addresses (1:N) reference, so we don't use proxy. At other side, we have a
"per user" log feature, where we almost never ask for this info (only store
new info there for future reference if needed), and in this case, we use
proxy.

To solve the cyclic references, we working with PerBroker cache, that works
fine for this purpose. rc5 is stable and fast (the only problems I've
detected is that it tries to get PersistentField even if
auto-update='false', and the toString in proxies - but this is subject for
other threads).

Starting the app with -Xmx128m we are able to materialize about 30000 really
complex objects in simple machines (800MHz-1Ghz) in less than 10 seconds
(that is good to my point of view).

To debug and fine tune, I'm using the p6spy and the Jahia SQL Profiler
(that's incredible simple to configure OJB to use this two excellent
products).

Thanks to all people that always supported us in this year of research
(Thomas, Armin, Jakob - by your patience - along others, need special
thanks). We still have a lot of work, and from time-to-time I'll be sharing
more info and knoledge with this amazing team.

Richter



---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.620 / Virus Database: 399 - Release Date: 11/3/2004


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


RE: AW: Object Cache using ObjectCacheJCSImpl

Posted by Guillaume Nodet <gu...@deliasystems.com>.
You should ask to the mailing list of jcs for such questions.

mailto:turbine-jcs-user-subscribe@jakarta.apache.org


Guillaume

-----Message d'origine-----
De : Dirk Manske (Service Respond)
[mailto:servicerespond.dirkmanske@nexgo.de]
Envoyé : lundi 26 avril 2004 12:06
À : 'OJB Users List'
Objet : AW: AW: Object Cache using ObjectCacheJCSImpl


Hi Armin,

oh I see, great. This simplifies it for me. I have two more questions: If I
do not specify an expiration time of the cached object in cache.ccf, is
there a default 'remove objects from cache implementation" which will be
invoked after a certain time? What about the memory shrinker property? If I
set it to true, what is the exact effect and when does make it sense to use
it?

thank you,
Dirk


-----Ursprüngliche Nachricht-----
Von: Armin Waibel [mailto:arminw@apache.org]
Gesendet: Montag, 26. April 2004 11:47
An: OJB Users List
Betreff: Re: AW: Object Cache using ObjectCacheJCSImpl

Hi Dirk,

you don't need to cache the objects by yourself it will be done by OJB.
If you want to manipulate the cache use the service method provided by PB:
PB.serviceObjectCache()

or to remove objects from the cache, yu can find methods at PB.

 > broker.beginTransaction();
 >
 > broker.insert(persistObject);
 >
 > broker.commitTransaction();
 > broker.close();

now your persistObject should be in cache.

regards,
Armin

Dirk Manske (Service Respond) wrote:
> thx for your answer Guiiaume. I already did this and use the example
> (basic) cache.ccf file from the jcs homepage. But I am using JCS the
> first time and there is no much docu available, so I am wondering how
> it all works. Is it as easy as
>
> broker.beginTransaction();
>
> broker.insert(persistObject);
>
> broker.commitTransaction();
>
> Identity ident = new Identity(persistObject, broker);
>
> broker.close();
>
> ObjectCacheJCSImpl jcsCache = new
> ObjectCacheJCSImpl("classForPersistedObject");
>
> jcsCache.cache(ident, persistObject);  ???
>
> I am wondering about the Identity object which already holds the
> persistObject and is now "abused" as key (as far as I know the jcs
> says to use a String object as key)? My second question is: do I
> really have to create a new jcsCache object each time or is it just
> for the first time and then I get the same instance again and again
> (singleton)? I think it must be the second case otherwise how to get the
cached object?
>
> thx,
> Dirk
>
>
> -----Ursprüngliche Nachricht-----
> Von: Guillaume Nodet [mailto:guillaume.nodet@deliasystems.com]
> Gesendet: Montag, 26. April 2004 10:42
> An: OJB Users List
> Betreff: RE: Object Cache using ObjectCacheJCSImpl
>
> I already used it, just configure the right class in ojb.properties
> for the key ObjectCacheClass, then just configure your cache.ccf file
> for configuring jcs.
>
> Guillaume
>
> -----Message d'origine-----
> De : Dirk Manske (Service Respond)
> [mailto:servicerespond.dirkmanske@nexgo.de]
> Envoye : dimanche 25 avril 2004 21:25
> A : 'OJB Users List'
> Objet : Object Cache using ObjectCacheJCSImpl
>
>
>
> Hi all,
>
> I am using ojb-1.0rc5 pb api and a db2 version 7 database. Is someone
> using ObjectCacheJCSImpl and could provide me a little example of how to
use it?
> Would be great!
>
> thx,
>
> Dirk
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


AW: AW: Object Cache using ObjectCacheJCSImpl

Posted by "Dirk Manske (Service Respond)" <se...@nexgo.de>.
Hi Armin,

oh I see, great. This simplifies it for me. I have two more questions: If I
do not specify an expiration time of the cached object in cache.ccf, is
there a default 'remove objects from cache implementation" which will be
invoked after a certain time? What about the memory shrinker property? If I
set it to true, what is the exact effect and when does make it sense to use
it?

thank you,
Dirk


-----Ursprüngliche Nachricht-----
Von: Armin Waibel [mailto:arminw@apache.org] 
Gesendet: Montag, 26. April 2004 11:47
An: OJB Users List
Betreff: Re: AW: Object Cache using ObjectCacheJCSImpl

Hi Dirk,

you don't need to cache the objects by yourself it will be done by OJB. 
If you want to manipulate the cache use the service method provided by PB:
PB.serviceObjectCache()

or to remove objects from the cache, yu can find methods at PB.

 > broker.beginTransaction();
 >
 > broker.insert(persistObject);
 >
 > broker.commitTransaction();
 > broker.close();

now your persistObject should be in cache.

regards,
Armin

Dirk Manske (Service Respond) wrote:
> thx for your answer Guiiaume. I already did this and use the example 
> (basic) cache.ccf file from the jcs homepage. But I am using JCS the 
> first time and there is no much docu available, so I am wondering how 
> it all works. Is it as easy as
> 
> broker.beginTransaction();
> 
> broker.insert(persistObject);
> 
> broker.commitTransaction();
> 
> Identity ident = new Identity(persistObject, broker);
> 
> broker.close();
> 
> ObjectCacheJCSImpl jcsCache = new
> ObjectCacheJCSImpl("classForPersistedObject");
> 
> jcsCache.cache(ident, persistObject);  ???
> 
> I am wondering about the Identity object which already holds the 
> persistObject and is now "abused" as key (as far as I know the jcs 
> says to use a String object as key)? My second question is: do I 
> really have to create a new jcsCache object each time or is it just 
> for the first time and then I get the same instance again and again 
> (singleton)? I think it must be the second case otherwise how to get the
cached object?
> 
> thx,
> Dirk
> 
> 
> -----Ursprüngliche Nachricht-----
> Von: Guillaume Nodet [mailto:guillaume.nodet@deliasystems.com]
> Gesendet: Montag, 26. April 2004 10:42
> An: OJB Users List
> Betreff: RE: Object Cache using ObjectCacheJCSImpl
> 
> I already used it, just configure the right class in ojb.properties 
> for the key ObjectCacheClass, then just configure your cache.ccf file 
> for configuring jcs.
> 
> Guillaume
> 
> -----Message d'origine-----
> De : Dirk Manske (Service Respond)
> [mailto:servicerespond.dirkmanske@nexgo.de]
> Envoye : dimanche 25 avril 2004 21:25
> A : 'OJB Users List'
> Objet : Object Cache using ObjectCacheJCSImpl
> 
> 
> 
> Hi all,
> 
> I am using ojb-1.0rc5 pb api and a db2 version 7 database. Is someone 
> using ObjectCacheJCSImpl and could provide me a little example of how to
use it?
> Would be great!
> 
> thx,
> 
> Dirk
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
> 
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Re: AW: Object Cache using ObjectCacheJCSImpl

Posted by Armin Waibel <ar...@apache.org>.
Hi Dirk,

you don't need to cache the objects by yourself it will be done by OJB. 
If you want to manipulate the cache use the service method provided by PB:
PB.serviceObjectCache()

or to remove objects from the cache, yu can find methods at PB.

 > broker.beginTransaction();
 >
 > broker.insert(persistObject);
 >
 > broker.commitTransaction();
 > broker.close();

now your persistObject should be in cache.

regards,
Armin

Dirk Manske (Service Respond) wrote:
> thx for your answer Guiiaume. I already did this and use the example (basic)
> cache.ccf file from the jcs homepage. But I am using JCS the first time and
> there is no much docu available, so I am wondering how it all works. Is it
> as easy as 
> 
> broker.beginTransaction();
> 
> broker.insert(persistObject);
> 
> broker.commitTransaction();
> 
> Identity ident = new Identity(persistObject, broker);
> 
> broker.close();
> 
> ObjectCacheJCSImpl jcsCache = new
> ObjectCacheJCSImpl("classForPersistedObject");
> 
> jcsCache.cache(ident, persistObject);  ???
> 
> I am wondering about the Identity object which already holds the
> persistObject and is now "abused" as key (as far as I know the jcs says to
> use a String object as key)? My second question is: do I really have to
> create a new jcsCache object each time or is it just for the first time and
> then I get the same instance again and again (singleton)? I think it must be
> the second case otherwise how to get the cached object?
> 
> thx,
> Dirk
> 
> 
> -----Ursprüngliche Nachricht-----
> Von: Guillaume Nodet [mailto:guillaume.nodet@deliasystems.com] 
> Gesendet: Montag, 26. April 2004 10:42
> An: OJB Users List
> Betreff: RE: Object Cache using ObjectCacheJCSImpl
> 
> I already used it, just configure the right class in ojb.properties for the
> key ObjectCacheClass, then just configure your cache.ccf file for
> configuring jcs.
> 
> Guillaume
> 
> -----Message d'origine-----
> De : Dirk Manske (Service Respond)
> [mailto:servicerespond.dirkmanske@nexgo.de]
> Envoye : dimanche 25 avril 2004 21:25
> A : 'OJB Users List'
> Objet : Object Cache using ObjectCacheJCSImpl
> 
> 
> 
> Hi all,
> 
> I am using ojb-1.0rc5 pb api and a db2 version 7 database. Is someone using
> ObjectCacheJCSImpl and could provide me a little example of how to use it?
> Would be great!
> 
> thx,
> 
> Dirk
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
> 
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


RE: Object Cache using ObjectCacheJCSImpl

Posted by Guillaume Nodet <gu...@deliasystems.com>.
You should not bother accessing direcly jcs.
The cache will be created by ojb and
you can retrieve objects using ojb
with a broker.getObjectByIdentity.

For the jcs cache implementation in the ojb distrib,
you're right that it should use a string as the key.
Personnally, i copied the given class and changed
to use the identity.toString() as the key instead
of the identity object itself.

broker.beginTransaction();
broker.insert(persistObject);
broker.commitTransaction();
Identity ident = new Identity(persistObject, broker);
Object obj = broker.getObjectByIdentity(ident);
broker.close();

Guillaume

-----Message d'origine-----
De : Dirk Manske (Service Respond)
[mailto:servicerespond.dirkmanske@nexgo.de]
Envoyé : lundi 26 avril 2004 11:37
À : 'OJB Users List'
Objet : AW: Object Cache using ObjectCacheJCSImpl


thx for your answer Guiiaume. I already did this and use the example (basic)
cache.ccf file from the jcs homepage. But I am using JCS the first time and
there is no much docu available, so I am wondering how it all works. Is it
as easy as

broker.beginTransaction();

broker.insert(persistObject);

broker.commitTransaction();

Identity ident = new Identity(persistObject, broker);

broker.close();

ObjectCacheJCSImpl jcsCache = new
ObjectCacheJCSImpl("classForPersistedObject");

jcsCache.cache(ident, persistObject);  ???

I am wondering about the Identity object which already holds the
persistObject and is now "abused" as key (as far as I know the jcs says to
use a String object as key)? My second question is: do I really have to
create a new jcsCache object each time or is it just for the first time and
then I get the same instance again and again (singleton)? I think it must be
the second case otherwise how to get the cached object?

thx,
Dirk


-----Ursprüngliche Nachricht-----
Von: Guillaume Nodet [mailto:guillaume.nodet@deliasystems.com]
Gesendet: Montag, 26. April 2004 10:42
An: OJB Users List
Betreff: RE: Object Cache using ObjectCacheJCSImpl

I already used it, just configure the right class in ojb.properties for the
key ObjectCacheClass, then just configure your cache.ccf file for
configuring jcs.

Guillaume

-----Message d'origine-----
De : Dirk Manske (Service Respond)
[mailto:servicerespond.dirkmanske@nexgo.de]
Envoye : dimanche 25 avril 2004 21:25
A : 'OJB Users List'
Objet : Object Cache using ObjectCacheJCSImpl



Hi all,

I am using ojb-1.0rc5 pb api and a db2 version 7 database. Is someone using
ObjectCacheJCSImpl and could provide me a little example of how to use it?
Would be great!

thx,

Dirk


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


AW: Object Cache using ObjectCacheJCSImpl

Posted by "Dirk Manske (Service Respond)" <se...@nexgo.de>.
thx for your answer Guiiaume. I already did this and use the example (basic)
cache.ccf file from the jcs homepage. But I am using JCS the first time and
there is no much docu available, so I am wondering how it all works. Is it
as easy as 

broker.beginTransaction();

broker.insert(persistObject);

broker.commitTransaction();

Identity ident = new Identity(persistObject, broker);

broker.close();

ObjectCacheJCSImpl jcsCache = new
ObjectCacheJCSImpl("classForPersistedObject");

jcsCache.cache(ident, persistObject);  ???

I am wondering about the Identity object which already holds the
persistObject and is now "abused" as key (as far as I know the jcs says to
use a String object as key)? My second question is: do I really have to
create a new jcsCache object each time or is it just for the first time and
then I get the same instance again and again (singleton)? I think it must be
the second case otherwise how to get the cached object?

thx,
Dirk


-----Ursprüngliche Nachricht-----
Von: Guillaume Nodet [mailto:guillaume.nodet@deliasystems.com] 
Gesendet: Montag, 26. April 2004 10:42
An: OJB Users List
Betreff: RE: Object Cache using ObjectCacheJCSImpl

I already used it, just configure the right class in ojb.properties for the
key ObjectCacheClass, then just configure your cache.ccf file for
configuring jcs.

Guillaume

-----Message d'origine-----
De : Dirk Manske (Service Respond)
[mailto:servicerespond.dirkmanske@nexgo.de]
Envoye : dimanche 25 avril 2004 21:25
A : 'OJB Users List'
Objet : Object Cache using ObjectCacheJCSImpl



Hi all,

I am using ojb-1.0rc5 pb api and a db2 version 7 database. Is someone using
ObjectCacheJCSImpl and could provide me a little example of how to use it?
Would be great!

thx,

Dirk


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


RE: Object Cache using ObjectCacheJCSImpl

Posted by Guillaume Nodet <gu...@deliasystems.com>.
I already used it, just configure the right class in ojb.properties for the
key
ObjectCacheClass, then just configure your cache.ccf file for configuring
jcs.

Guillaume

-----Message d'origine-----
De : Dirk Manske (Service Respond)
[mailto:servicerespond.dirkmanske@nexgo.de]
Envoye : dimanche 25 avril 2004 21:25
A : 'OJB Users List'
Objet : Object Cache using ObjectCacheJCSImpl



Hi all,

I am using ojb-1.0rc5 pb api and a db2 version 7 database. Is someone using
ObjectCacheJCSImpl and could provide me a little example of how to use it?
Would be great!

thx,

Dirk


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Object Cache using ObjectCacheJCSImpl

Posted by "Dirk Manske (Service Respond)" <se...@nexgo.de>.
 
Hi all,

I am using ojb-1.0rc5 pb api and a db2 version 7 database. Is someone using
ObjectCacheJCSImpl and could provide me a little example of how to use it?
Would be great!

thx,

Dirk


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Any OJB issues when changing from jdbc 2.0 to 1.0?

Posted by "Dirk Manske (Service Respond)" <se...@nexgo.de>.
 Hi all,

we are using ojb-1.0rc5 pb api and a db2 version 7 database. the used driver
is jdbc 2.0 compatible. Now we are demanded to use a db2 driver which
supports only jdbc 1.0. We are asking if there are some limitations (eg
performance, loss of functionalities within ojb ...) from ojb to be expected
when using a jdbc 1.0 level driver? Or is it irrelevant to ojb which jdbc
level is used?

thx,

Dirk


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Re: newQuery or newReportQuery???

Posted by Jakob Braeuchi <jb...@gmx.ch>.
hi sven,

newQuery returns real business-objects (ie. Person) with all attributes filled, 
thus it selects all columns. newReportQuery lets you define what columns you 
want to select, but it returns a simple array of objects (Object[]).

jakob

Just Fun 4 You wrote:

>  Hi,
> 
> I am new to OJB and wondering when I should use QueryFactory.newQuery() and
> QueryFactory.newReportQuery(). May be this answers my second question: how
> to select specific attributes in a query so that not all attributes are
> considered (e.g. which I am not interested in)?
> 
> Thank you for your help.
> 
> Sven 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


newQuery or newReportQuery???

Posted by Just Fun 4 You <ju...@nexgo.de>.
 Hi,

I am new to OJB and wondering when I should use QueryFactory.newQuery() and
QueryFactory.newReportQuery(). May be this answers my second question: how
to select specific attributes in a query so that not all attributes are
considered (e.g. which I am not interested in)?

Thank you for your help.

Sven 


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Re: OJB performance tip

Posted by Thomas Dudziak <to...@first.gmd.de>.
On Mon, 15 Mar 2004, Armin Waibel wrote:

> I think Tom worked on that stuff, now (CVS head) toString materialize 
> the real object and pass method call, instead return a proxy predefined 
> toString method.

Yes and no: I added a toString(Object) method to ProxyHelper that checks
on proxies, but I didn't update the logging (I couldn't find the 'bad' 
spot), but perhaps somebody can point me to it (I don't have the time
right now to dig in all the logging).

Tom


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Re: OJB performance tip

Posted by Armin Waibel <ar...@apache.org>.
Hi,

Thanks for this "success story"! Nice to hear that in some cases OJB 
works ;-)

...
> To solve the cyclic references, we working with PerBroker cache, that works
> fine for this purpose. rc5 is stable and fast (the only problems I've
> detected is that it tries to get PersistentField even if
> auto-update='false',

Currently we discuss auto-XXX setting behaviour on dev-list.

> and the toString in proxies - but this is subject for
> other threads).
>

I think Tom worked on that stuff, now (CVS head) toString materialize 
the real object and pass method call, instead return a proxy predefined 
toString method.

regards,
Armin

> Starting the app with -Xmx128m we are able to materialize about 30000 really
> complex objects in simple machines (800MHz-1Ghz) in less than 10 seconds
> (that is good to my point of view).
> 
> To debug and fine tune, I'm using the p6spy and the Jahia SQL Profiler
> (that's incredible simple to configure OJB to use this two excellent
> products).
> 
> Thanks to all people that always supported us in this year of research
> (Thomas, Armin, Jakob - by your patience - along others, need special
> thanks). We still have a lot of work, and from time-to-time I'll be sharing
> more info and knoledge with this amazing team.
> 
> Richter
> 
> 
> 
> ---
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.620 / Virus Database: 399 - Release Date: 11/3/2004
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
> 
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Re: OJB performance tip

Posted by Jakob Braeuchi <jb...@gmx.ch>.
hi edson,

it's nice to get some positive feedback. i hope we'll hear from other success 
stories as well.

jakob

Edson Carlos Ericksson Richter wrote:

> Hi! Just to share with you all our latest experiences about performance.
> 
> After three days working on OJB performance optimization for our Swing app,
> I've achieved a formula that fits near all our cases (look, it may not fit
> your need).
> 
> We are not using proxyies for everthing anymore. Today, all objects are not
> proxy, and references are not proxies too (99,9% of cases). Only collections
> (the ones you be absolutely right that will not always need data) will
> receive proxy="true". Example, a customer in 90% of the cases will need the
> addresses (1:N) reference, so we don't use proxy. At other side, we have a
> "per user" log feature, where we almost never ask for this info (only store
> new info there for future reference if needed), and in this case, we use
> proxy.
> 
> To solve the cyclic references, we working with PerBroker cache, that works
> fine for this purpose. rc5 is stable and fast (the only problems I've
> detected is that it tries to get PersistentField even if
> auto-update='false', and the toString in proxies - but this is subject for
> other threads).
> 
> Starting the app with -Xmx128m we are able to materialize about 30000 really
> complex objects in simple machines (800MHz-1Ghz) in less than 10 seconds
> (that is good to my point of view).
> 
> To debug and fine tune, I'm using the p6spy and the Jahia SQL Profiler
> (that's incredible simple to configure OJB to use this two excellent
> products).
> 
> Thanks to all people that always supported us in this year of research
> (Thomas, Armin, Jakob - by your patience - along others, need special
> thanks). We still have a lot of work, and from time-to-time I'll be sharing
> more info and knoledge with this amazing team.
> 
> Richter
> 
> 
> 
> ---
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.620 / Virus Database: 399 - Release Date: 11/3/2004
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Re: OJB performance tip

Posted by Brian McCallister <mc...@forthillcompany.com>.
Thank you!

-Brian

On Mar 15, 2004, at 9:05 AM, Edson Carlos Ericksson Richter wrote:

> Hi! Just to share with you all our latest experiences about 
> performance.
>
> After three days working on OJB performance optimization for our Swing 
> app,
> I've achieved a formula that fits near all our cases (look, it may not 
> fit
> your need).
>
> We are not using proxyies for everthing anymore. Today, all objects 
> are not
> proxy, and references are not proxies too (99,9% of cases). Only 
> collections
> (the ones you be absolutely right that will not always need data) will
> receive proxy="true". Example, a customer in 90% of the cases will 
> need the
> addresses (1:N) reference, so we don't use proxy. At other side, we 
> have a
> "per user" log feature, where we almost never ask for this info (only 
> store
> new info there for future reference if needed), and in this case, we 
> use
> proxy.
>
> To solve the cyclic references, we working with PerBroker cache, that 
> works
> fine for this purpose. rc5 is stable and fast (the only problems I've
> detected is that it tries to get PersistentField even if
> auto-update='false', and the toString in proxies - but this is subject 
> for
> other threads).
>
> Starting the app with -Xmx128m we are able to materialize about 30000 
> really
> complex objects in simple machines (800MHz-1Ghz) in less than 10 
> seconds
> (that is good to my point of view).
>
> To debug and fine tune, I'm using the p6spy and the Jahia SQL Profiler
> (that's incredible simple to configure OJB to use this two excellent
> products).
>
> Thanks to all people that always supported us in this year of research
> (Thomas, Armin, Jakob - by your patience - along others, need special
> thanks). We still have a lot of work, and from time-to-time I'll be 
> sharing
> more info and knoledge with this amazing team.
>
> Richter
>
>
>
> ---
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.620 / Virus Database: 399 - Release Date: 11/3/2004
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org