Thinking Clearly About Performance

Creating “high performance” as an attribute of complex software is extremely difficult business for developers, technology administrators, architects, system analysts, and project managers. However, by understanding some fundamental principles, performance problem solving and prevention can be made far simpler and more reliable.

A Model for Predicting Response Times

One of the more challenging types of performance problem is the dreaded scenario in which the problem occurs only intermittently and is difficult to trap with your performance measurement tools. In such a situation, trace data can be an irreplaceable ally, allowing you to understand even phenomena that you’ve not yet actually measured.

Our Q&A Site Is Stack Overflow

Two or three times in the past twenty years, we’ve created Forum pages where people can ask their Method R support questions, and then people can both see other people’s answers and contribute their own. It has gone kind of like this: Me: I’m going to create a new Method R forum. It will become a vibrant […]

Mastering Oracle Trace Data, 2nd edition

Cary Millsap’s The Method R Guide to Mastering Oracle Trace Data, 2nd edition contains everything you need to know about Oracle trace data—how to collect it and what to do with it once you have retrieved it, using the Method R Workbench software suite. The book creates a scientific basis for understanding why computing systems perform the way they do. It provides comprehensive detail about controlling, […]

Trace Your Code—All of It

A couple weeks ago, my friend Bob Rhubart at Oracle dropped me a note asking if I’d like to participate in his 2-Minute Tech Tip series for his blog at OTN.

Why You Need a Profiler for Oracle

If you use Oracle and you care about performance, then you need a profiler for Oracle. This video, created and narrated by Cary Millsap, explains why.

Quantifying SQL Shareability

Do you have SQL in your system that doesn’t use placeholders, like this? [3r3dhkb0z824v] select stuff from t where id=18432... [5wamvs45j6nh4] select stuff from t where id=4286... [ih5x9lgg492nk] select stuff from t where id=329971... Statements like these are generated dynamically by procedural programs written in Java, PHP, C#, etc. (or even PL/SQL if you work really […]