EXTREME PERFORMANCE TUNING. GAME PLAN FOR SUCCESS. Chris Lawson. Agenda. What is Extreme Performance Tuning? Seven attributes of Extreme Perf Tuning Chris’ favorite tuning techniques Some pitfalls to avoid. When it doesn’t work— the missing piece of the puzzle. A Key Question.
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation
Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement.Téléchargez la présentation en cliquant sur ce lien.Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.
Agenda • What is Extreme Performance Tuning? • Seven attributes of Extreme Perf Tuning • Chris’ favorite tuning techniques • Some pitfalls to avoid When it doesn’t work— the missing piece of the puzzle
A Key Question After you attend a seminar on performance tuning, do you discover that you have become a performance expert?
Performance Tuning is Not: • Having really tricky scripts • Running colorful programs • Delivering long reports full of generalities • Being smarter, faster, better-looking than other DBAs
The Paradox of Performance Tuning • Being extremely good means being adept in multiple areas • A single strength will not work. • Example: New DBA uses tool (e.g., OEM) to analyze performance • Q: What will be the likely outcome?
Let’s Examine the 7 • Good Judgment • Logical Reasoning • Good Techniques • Scripts • Tools (maybe) • Focus • Hands-on Experience
Strategy for Success Logical Reasoning Good Judgment (1) Techniques Hands-on Experience Scripts Focus Tools
Good Judgment: Thinking Clearly Difficult to explain—it’s a sound approach to gray areas Q: How do you spot this in candidates? I don’t mean I.Q. “The man who was too smart to talk to” Good Judgment
Good Judgment: Thinking Clearly • Easier to spot bad judgment than good • Bad judgment stands out Good Judgment Tale of the “No-good Nested Loops”
Good Judgment • Firms want people with good judgment, but how do you measure? • Common sense reasoning maybe not so common? • Some examples of smart people using not-so-smart judgment
A Class for Good Judgment? • Realistically, I probably can’t teach you good judgment. • Is there some class to attend, to teach you to not do certain things, like these:
Losing Focus: Some Distractions • Pet ideas—maybe RAC or Streams? • To redesign the application—let’s make it more “elegant” • Trying to solve problem in general • My favorite: Avoid solving root problem by blaming others “The burnt-up power box”
An Unhelpful Tactic When my application runs slowly, likely root cause is found in: • My app, • Database issue, or • Somebody else's’ app “Those other guys are slowing the disk!”
Staying on Focus is Hard Work It’s tempting to switch to generalities. Benefit: • You don’t need to know much. • Avoids hard analysis. • Everybody knows what “Add CPUs” means. Cary Milsap calls this using the “aggregate”
Avoid the Dark Side“Aggregate” Method • Avoiding hard work of detailed analysis is immensely appealing. • It’s widespread because anyone can become an expert • You “fix” lots of problems at once! • Solution usually ”Add more hardware.” But it only works for a while . . .
Focus: Stay on Target! • Home-in on the exact problem & fix • “Micro” not “Macro.” • Solutions are directly applicable to the problem at hand, so… • You can estimate improvement • It will often be a huge pickup
Strategy for Success Logical Reasoning (3) Good Judgment Techniques Hands-on Experience Scripts Focus Tools
This is a Huge Deal … Similar to staying focused My definition: “An inductive process of working from facts to conclusion.” Logical Reasoning
Barriers to Logical Reasoning • Presupposing form of the answer • Pet solutions Logical Reasoning “Must be the db writer..”
Why is Experience So Critical? • Save time by skirting crazy ideas. • Reduces scope of possible solutions • Know how Oracle works in practice • Pattern recognition: “Aha—I’ve seen that one before!” • Gain credibility with your customers. • Inspired by other ideas you’ve seen.
A Big Turn-off: the Hard Work Expert: 10,000 hours of deliberative practice Hands-on Experience Talent Is Overrated By Geoff Colvin
Strategy for Success Logical Reasoning Good Judgment Techniques Hands-on Experience Scripts Focus Tools
Helpful in Some Cases Tools • A matter of personal preference--could be useful. • Caution: Tool may direct your effort: “OEM says …” • Pitfall: Never gain competence ? A useful analogy >
My Thoughts • Takes the job seriously • Listens to what you say • Understands the problem • Has expertise in the field • Knows practical solutions • How often is he sued?* * Courtesy Dan Grey, PG&E
Strategy for Success Logical Reasoning Good Judgment Techniques Hands-on Experience Scripts (6) Focus Tools
Scripts Scripts Are Important • Ten DBAs > 10 different scripts. • There usually isn’t just “1 way.” • Your process should drive your scripts, not the other way around. • “Roll your own” scripts or borrow ideas from others
Be Open to Different Methods • There’s more than 1 way to solve a problem. • There’s tons of smart people here. Learning from others is better than formal classes—it’s supremely practical. • It’s hard for anyone to be an expert at more than 1 thing. • Watch for people who have a better way at doing something and copy them!
Script ideas • Most of my scripts are from others • Other ideas came from user groups and forums, etc. • One idea (following) came from a beginner with almost no experience!
What I Learned from a NewbieObject Waited-on SeleCT DISTINCT v$session.module, Sid, username, Substr(program,1,19) PROG , sql_text, object_name From V$Session, V$Sql, dba_objects o Where v$session.status = 'ACTIVE' And username is not null and o.object_id = row_wait_obj# And v$session.sql_hash_value = hash_value and v$session.sql_address = v$sql.address and username <> 'SYS'
Connexion au compte
Connectez-vous pour publier votre contenu sur SlideServe.