Profiling tools/techniques

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Profiling tools/techniques

byersa
Is there a preferred method for doing performance profiling within OFBiz? A
google did not pick up anything.

Can anyone recommend a good tool or technique?

Thanks,

-Al
Reply | Threaded
Open this post in threaded view
|

Re: Profiling tools/techniques

David E Jones

What sort of profiling? Or in other words, to isolate what sort of  
performance problem?

-David


On Feb 4, 2007, at 11:03 PM, Al Byers wrote:

> Is there a preferred method for doing performance profiling within  
> OFBiz? A
> google did not pick up anything.
>
> Can anyone recommend a good tool or technique?
>
> Thanks,
>
> -Al


smime.p7s (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Profiling tools/techniques

byersa
David,

My need is for another, non-OFBiz project, but I wanted to get familiar with
whatever tools were popular with OFBiz. In my case, there is a general
slowdown of the response to the user over the course of 10-15 minutes of use
to the point that they must log out and log back in. That is all I know so I
am looking for a tool that will give me a clue as to where to look.

I was told that there were some J2EE classes like SessionListener, but I
have not gotten around to looking at them - wanted to see if there was
something that would apply to OFBiz first.

Thanks,

-Al

On 2/5/07, David E. Jones <[hidden email]> wrote:

>
>
> What sort of profiling? Or in other words, to isolate what sort of
> performance problem?
>
> -David
>
>
> On Feb 4, 2007, at 11:03 PM, Al Byers wrote:
>
> > Is there a preferred method for doing performance profiling within
> > OFBiz? A
> > google did not pick up anything.
> >
> > Can anyone recommend a good tool or technique?
> >
> > Thanks,
> >
> > -Al
>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Profiling tools/techniques

David E Jones

I guess the big trick is that there are a lot of potential  
performance related problems, and a wide variety of tools to help  
find and fix them.

The OFBiz framework has seen quite a lot of low-level performance  
profiling and optimization. This involves timing a LOT of code and  
finding what is the slowest, like things in the entity and service  
engine implementations and such. Traditional profiling tools are good  
for this. To improve performance in OFBiz we use the Javolution  
library for recycling objects and for faster maps, lists, etc that  
use totally recyclable objects. Another big important thing we found  
while profiling OFBiz is the use of a cached class loader, of which  
we have one as part of OFBiz.

Of course, all of that doesn't help a bit if you write code that uses  
the database more than it needs to (in terms of round-trips) or asks  
the database to do more than is necessary for large tables,  
especially in joins and such.

So in general you need to do more than just local profiling, you need  
to test the application as a whole under a load and see how things  
run. Database related optimizations are fun because with little  
tweaks you can often get performance improvements of anywhere from  
tens to thousands of times.

The tools for that include a load testing client, like grinder or  
jmeter or something, and something in the application itself to log  
or record slow resources. OFBiz has a bunch of tools for that sort of  
internal information, like the Server Hit Bin tracking and the  
corresponding page to view them in webtools (or you can look in the  
database). The entity engine also logs all SQL calls that require a  
long time to run, more than 100ms if I remember right.

Anyway, just some general thoughts. This is a complicated and messy  
area with usually hundreds or thousands of little moving parts, so  
testing and knowing what you're looking for based on experience and/
or experiments are necessary. I think about 25% of my income over the  
last few months has been doing just this kind of work... All big  
sites need it done, especially when they have a lot of custom code.

-David


On Feb 5, 2007, at 6:14 AM, Al Byers wrote:

> David,
>
> My need is for another, non-OFBiz project, but I wanted to get  
> familiar with
> whatever tools were popular with OFBiz. In my case, there is a general
> slowdown of the response to the user over the course of 10-15  
> minutes of use
> to the point that they must log out and log back in. That is all I  
> know so I
> am looking for a tool that will give me a clue as to where to look.
>
> I was told that there were some J2EE classes like SessionListener,  
> but I
> have not gotten around to looking at them - wanted to see if there was
> something that would apply to OFBiz first.
>
> Thanks,
>
> -Al
>
> On 2/5/07, David E. Jones <[hidden email]> wrote:
>>
>>
>> What sort of profiling? Or in other words, to isolate what sort of
>> performance problem?
>>
>> -David
>>
>>
>> On Feb 4, 2007, at 11:03 PM, Al Byers wrote:
>>
>> > Is there a preferred method for doing performance profiling within
>> > OFBiz? A
>> > google did not pick up anything.
>> >
>> > Can anyone recommend a good tool or technique?
>> >
>> > Thanks,
>> >
>> > -Al
>>
>>
>>


smime.p7s (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Profiling tools/techniques

Chandresh Turakhia
Dear all,

This may be bit of track. We did some changes . Some of the change may not
be best solution for performance. Would sharing with the team help.

Comparision is with "Current Application functionality " and "ofbiz based
functionality" .

People can suggest if that is the MAXIMUM performance we can extract or can
we achieve much more than this.

Chand

----- Original Message -----
From: "David E. Jones" <[hidden email]>
To: <[hidden email]>
Sent: Monday, February 05, 2007 6:59 PM
Subject: Re: Profiling tools/techniques


>
> I guess the big trick is that there are a lot of potential  performance
> related problems, and a wide variety of tools to help  find and fix them.
>
> The OFBiz framework has seen quite a lot of low-level performance
> profiling and optimization. This involves timing a LOT of code and
> finding what is the slowest, like things in the entity and service  engine
> implementations and such. Traditional profiling tools are good  for this.
> To improve performance in OFBiz we use the Javolution  library for
> recycling objects and for faster maps, lists, etc that  use totally
> recyclable objects. Another big important thing we found  while profiling
> OFBiz is the use of a cached class loader, of which  we have one as part
> of OFBiz.
>
> Of course, all of that doesn't help a bit if you write code that uses  the
> database more than it needs to (in terms of round-trips) or asks  the
> database to do more than is necessary for large tables,  especially in
> joins and such.
>
> So in general you need to do more than just local profiling, you need  to
> test the application as a whole under a load and see how things  run.
> Database related optimizations are fun because with little  tweaks you can
> often get performance improvements of anywhere from  tens to thousands of
> times.
>
> The tools for that include a load testing client, like grinder or  jmeter
> or something, and something in the application itself to log  or record
> slow resources. OFBiz has a bunch of tools for that sort of  internal
> information, like the Server Hit Bin tracking and the  corresponding page
> to view them in webtools (or you can look in the  database). The entity
> engine also logs all SQL calls that require a  long time to run, more than
> 100ms if I remember right.
>
> Anyway, just some general thoughts. This is a complicated and messy  area
> with usually hundreds or thousands of little moving parts, so  testing and
> knowing what you're looking for based on experience and/ or experiments
> are necessary. I think about 25% of my income over the  last few months
> has been doing just this kind of work... All big  sites need it done,
> especially when they have a lot of custom code.
>
> -David
>
>
> On Feb 5, 2007, at 6:14 AM, Al Byers wrote:
>
>> David,
>>
>> My need is for another, non-OFBiz project, but I wanted to get  familiar
>> with
>> whatever tools were popular with OFBiz. In my case, there is a general
>> slowdown of the response to the user over the course of 10-15  minutes of
>> use
>> to the point that they must log out and log back in. That is all I  know
>> so I
>> am looking for a tool that will give me a clue as to where to look.
>>
>> I was told that there were some J2EE classes like SessionListener,  but I
>> have not gotten around to looking at them - wanted to see if there was
>> something that would apply to OFBiz first.
>>
>> Thanks,
>>
>> -Al
>>
>> On 2/5/07, David E. Jones <[hidden email]> wrote:
>>>
>>>
>>> What sort of profiling? Or in other words, to isolate what sort of
>>> performance problem?
>>>
>>> -David
>>>
>>>
>>> On Feb 4, 2007, at 11:03 PM, Al Byers wrote:
>>>
>>> > Is there a preferred method for doing performance profiling within
>>> > OFBiz? A
>>> > google did not pick up anything.
>>> >
>>> > Can anyone recommend a good tool or technique?
>>> >
>>> > Thanks,
>>> >
>>> > -Al
>>>
>>>
>>>
>
>