Re: Deployed app performance degrades over time
Re: Deployed app performance degrades over time
- Subject: Re: Deployed app performance degrades over time
- From: William Hatch <email@hidden>
- Date: Sat, 27 Sep 2008 21:54:18 -0400
On Sep 27, 2008, at 8:37 PM, Guido Neitzer wrote:
On 27-Sep-08, at 4:46 PM, William Hatch wrote:
I'm curious if we're looking in the right places and am looking for
feedback as to how best monitor, diagnose and manage performance
for an app in this kind of context where you don't have any
requests or responses being generated. TIA
Some wild guesses and what we do to find performance issues:
We have logging with timestamps and SQL query duration logging and
also do quite some log output on these "daemon" processes.
I guess that will help finding the spots where you can than dig
deeper. Also you could check your disk io, VM usage.
We've looked extensively at the db logs; no slow queries are being
triggered, in fact, the total queries per second drops to almost
nothing when the app is running slowly. The sql that it generates is
largely under our control as we're doing almost everything with raw
rows statements, including updates and inserts. We do still use
ec.saveChanges at certain points, but timing those out indicates fast
solid performance. The host looks good as far as VM usage; haven't
looked at disk io.
About Tomcat: I have no idea whether there is something where you
can get statistics from a deployed app on Tomcat.
I'm about to do some tests using the jmx stuff, but I"m not sure
that's going to work within tomcat. Overall, tomcat memory stats look
good via tomcat manager, but I'm not entirely sure how memory is
allocated amongst various running apps deployed under the same
instance. We'll see hopefully.
Another idea: how is the db behaving when the application gets slow?
What do the statistics there say? What if you connect to the db at
that time and execute similar queries? Any degradation there? Have
you tried closing and re-opening the database channel
programmatically?
No problems with other apps or direct sql queries during these slow
downs. The db isn't being stressed at all; we've determined a safe
sustained max rate of 8k qps on the db, and it's not even close to
that when the app is running well. It is on an extremely fast disk
system, host with 16GB of memory and pretty much the entire db is
loaded into memory at all times. We don't see any locks, etc or
stalled operations in the logs; nothing. I haven't tried closing and
reopening, other than bringing the app up and down, of course. Do you
think that would provide some benefit? I suppose I could do it on each
batch iteration.
cug
--
Real World WebObjects Bootcamp at the Big Nerd Ranch:
http://www.bignerdranch.com/classes/real-world_webobjects.shtml
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden