This course, designed and taught by Cary Millsap, is the perfect follow-up to the beloved Optimizing Oracle Performance book. It describes the principles behind performance problem solving and prevention, linking them together in a coherent journey covering the goals, the terms, the tools, and the decisions that you need to maximize your application’s chance of having a long, productive, high-performance life. Examples in this course touch upon Oracle experiences, but the scope of the course is not restricted to Oracle products.
Cary has the rare ability to teach complex topics in a manner that everyone can understand. He is innovative and entertaining, and he always challenges his audiences to think beyond the status quo.
Principal Software Engineer with Honors
Thales-Raytheon Systems · Fullerton, California
The Story of “Thinking Clearly,” by Cary Millsap
When I wrote Optimizing Oracle Performance with Jeff Holt back in 2003, my goal was to define a reliable, teachable method for fixing software performance problems. After a few months of contentment having finishing the project, I began to notice a trend in how people were responding to it. Many of the questions coming in had started to repeat themselves: “Sure, fixing problems is important, but how can I prevent them?” “The book was fun, but of course I didn’t read the chapter on queueing theory; is that stuff really important, anyway?” “Where does capacity planning fit in?” ...And, sadly, I continued to see people make the same mistakes that we had tried to warn people about in the book.
One day, in response to a sequence of questions to which I had responded hundreds of times (at least it seemed), I sat down to write the simplest summary I could of everything I thought people needed to know about software performance. My goal was to connect all the topics in the software performance domain that people needed to understand.
I began by explaining why we should approach performance scientifically in the first place. I defined what performance was, how to measure it, and how to say what you want. I showed how performance problem diagnosis works and how tools like the sequence diagram and the profile help you accomplish your goals. I described how efficiency and speed are different things, how load affects performance, and how capacity planning fits into the whole performance equation. Finally, I wanted to show how instrumentation and logging are vital to creating and running software that meets tough performance constraints.
To my surprise, the paper just flowed out in a coherent document that really wasn’t too long or too difficult to read.
I’ve been thrilled with where the project has gone. The original paper has been downloaded nearly 20,000 times from our method-r.com web site. The paper has won numerous awards at user groups at which I’ve spoken, and it was published as a two-part article in both ACM Queue and Communications of the ACM. It is my favorite material I’ve ever presented. I think that’s because it touches upon almost everything I’ve ever done as a professional. Through the years, I have substantially improved the original paper, and now it is included as chapter 1 of the book The Method R Guide to Mastering Oracle Trace Data, Second Edition, which serves as the textbook for the 1-day course.
Topics Covered in the Course
- An axiomatic approach
- What is performance?
- Performance as an attribute
- Response time vs throughput
- Percentile specifications
- Problem diagnosis
- The sequence diagram
- The profile
- Latency, call count, and mean
- The bottleneck
- Amdahl's law
- Minimizing risk
- Deterministic and random arrivals
- Queueing delay
- Queueing theory
- Coherency delay
- Managing load
- Capacity planning
- Performance testing
- Performance is a feature
- Three axioms of performance
- Method R
- Eliminating calls
What You Get
- Admission to the one-day course
- A PDF copy of the textbook, The Method R Guide to Mastering Oracle Trace Data, Second Edition by Cary Millsap (printed and bound copies are available at Amazon.com)
Cary Millsap has been an Oracle performance specialist since 1990. He is an Oracle ACE Director, an Oak Table Network founder, and former Vice President at Oracle Corporation. He is the author of Optimizing Oracle Performance (O’Reilly 2003), for which he and coauthor Jeff Holt were named Oracle Magazine’s 2004 Authors of the Year. He is responsible for designing and developing much of the software that you’ll see in class.
The Method R Guide to Mastering Oracle Trace Data by Cary Millsap is a highly detailed, full-color, 253-page textbook that serves as a valuable reference long after you complete the course.
Pricing and Discounts
Pricing varies by location, number of students, and other factors. We generally offer discounts for groups of 10 or more registering simultaneously, and some user groups offer discount coupon codes for their members to use. Details for each public event are available on the online registration form for the event itself. Please contact us with any questions.
Locations and Dates
We announce our public courses on our calendar. We also teach private classes that are not publicly advertised, at individual companies. Many of our events are inspired by just one person asking about a course. Contact us if you are interested in scheduling a course for yourself or your group.
Hosting a Public Course at Your Facility
Are you looking for first-class education without the travel costs? By hosting the course at your facility and helping us attract students, we can bring the course right to you.
Hosting a public course saves money and provides the ultimate in convenience for you and your colleagues. Write us if you’re interested in hosting a public course.
A private course taught at your facility ensures that your staff can be completely open with their classroom discussions. The course curriculum fits tightly into the scheduled format, but we can offer an additional day or more of instruction in which your staff can work directly with Cary Millsap on the subject matter in your company’s specific context. Our minimum student count for private courses varies by location and is generally proportional to the time and expense required to reach your facility from our office near the DFW Airport. Write us if you’re interested in hosting a private course.
Classroom Setup Requirements
The course requires a quiet room with good lighting, comfortable classroom-style seating, and desktop space for each student. AC power for each student is nice, but not necessary. For the instructor, we’ll need a digital projector (resolution ≥ 1024×768) and screen, AC power, desktop space, and a chair. An Internet connection (RJ-45 or WiFi) is nice, but not necessary.
“I’m a firm believer in the Method R strategy for performance tuning, as it has worked well for me countless times over the years.”
Database Administrator · Scottsdale, Arizona
“Quite a few years ago, I created an Oracle/Java system for a client that supported only a handful of users, but did quite a bit of processing. Years later, and after an upgrade or two, I revisited that same system. Things had slowed quite a bit and since I happened to be re-reading Cary Millsap’s Optimizing Oracle Performance at the time, I decided to use his performance methodology to attempt to tune the system. The client had no budget for any of Oracle’s performance tuning packs or Method R tools. However, by simply turning on extended tracing and applying the methodology in Cary’s book, I was able to fine-tune the system and easily spot the problem areas. One portion that involved fairly involved processing and generated thousands of PDFs was reduced from taking 13–16 minutes, to 26 seconds! The biggest surprise for me was how relevant the book still is, even with 10g and 11g. Thanks for a great book! Maybe I’ll convince them to buy Method R tools for 12c… ;)”
Technical Architect / Technical Project Manager / Oracle Developer · Spradling Consulting · Austin, Texas
“Cary has the rare ability to teach complex topics in a manner that everyone can understand. He is innovative and entertaining, and he always challenges his audiences to think beyond the status quo.”
Principal Software Engineer with Honors · Thales-Raytheon Systems · Fullerton, California