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 |
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 |
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 > > > |
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 |
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 >>> >>> >>> > > |
Free forum by Nabble | Edit this page |