RE: What is the best strategy to evaluate performance of a big system

From: Mark W. Farnham <mwf_at_rsiz.com>
Date: Sat, 24 Sep 2011 12:57:50 -0400
Message-ID: <00f501cc7adb$18bf52c0$4a3df840$_at_rsiz.com>



From a strategic viewpoint Method-R is hands down the most effective way for a system that is already running.

Though implicitly part of Method-R, some folks also overlook that work shift load analysis and resource management (especially reserving an appropriate fraction of the machine for interactive queries during times when batch type activities are running simultaneously with interactive users) can be an important tool to help consistently meet requirements.

Taking action to make sure batch activities complete before you enter windows when the most important interactive activities take place is a good route to meeting the response time goals for those activities. This tends to be the case when the important jobs are already efficient (usually meaning handled by good SQL and not run more often than useful).

That is the strategy. Most of what you recite below are tactics. Once you identify the most important process that is not meeting expectations, the appropriate tactics for improving it will likely become obvious. The best tactic for solving a particular identified problem varies. Increasingly fine grained tracing of the identified problem process is often an effective tactic. So is looking at the application logs to discover whether something else is being run stupidly often and sucking up all the system resources. But even then it is the trace that will tell you what you were waiting for - and if you weren't waiting for system resources then system overload is not the root cause.

Sigh. Reading Cary's book will be well worth your time.

Good luck!

mwf

-----Original Message-----
From: oracle-l-bounce_at_freelists.org [mailto:oracle-l-bounce_at_freelists.org] On Behalf Of Eriovaldo Andrietta
Sent: Saturday, September 24, 2011 11:47 AM To: ORACLE-L
Subject: What is the best strategy to evaluate performance of a big system

Hello Friends,
  I would like to know, what is the best strategy to identify and provide performance in a big system that is running in the production.   Imagine a system written in java, C, perl, pl/sql, triggers ... and others ... several kinds of language ..
  Everything is connecting to Oracle 10g, doing small queries and complex queries too ...
  So ...
  I understand that there must have "pointed bad queries" that can be identified only running the applicaton ... It maybe take more time than the expected...

  What would be the other way to obtain the problematic queries?

  • Turn on trace, read the tracefile, identify problems and make changes based on trace ?
  • Analyse application logs, read the log, identify problems and make changes based on log ?
  • The tester identify problems by himself, testing all system functionality ? In this case, trace and log are resources to obtain the bad sql statment.

  What is the best option for environment ?

  • Apply the strategy on the production environment, without leaving this database to another environment, because this action will reorganize the database and provide a different data organization in comparison with the original environment and probably different performance.
  • Apply the strategy on new database (using same database parameters) in another environment and populate it with the data from the production environment and use trace or logs ?

  At first, the resource for it would be : a tester skill and a DBA skill professionals.

Thanks and Regards !!

Eriovaldo

--
http://www.freelists.org/webpage/oracle-l


--
http://www.freelists.org/webpage/oracle-l
Received on Sat Sep 24 2011 - 11:57:50 CDT

Original text of this message