Ideas, explanations, and practical guidance from Method R.

Method R Workbench 9.4

Method R Workbench 9.4

Cary Millsap

Yesterday, we released Method R Workbench 9.4.1.0. This article is a tour of some of the 50 new application behavior changes. Command history scrolling In Workbench 9.3, it was a pain to try to find a given report in the output pane. For example, do this: This was a fun design problem. My initial idea was a…

The Origins of Method R

The Origins of Method R

Cary Millsap

This thing called “Method R” is a method for optimizing the performance of a system. The reason Method R is special is that it is itself optimized—it is designed to keep you from wasting your time. This article is about where Method R came from. In the Beginning… In the 1990s, the world was a boomtown for Oracle.…

Make It Automatic

Make It Automatic

Cary Millsap

Over the holidays, my colleague Jeff Holt and I usually use the peaceful, interruption-free time to buff up our software. One of our design journeys last week was particularly interesting. The application we were working on is an application that eats Oracle trace files for a living. You drag files into a pane in the…

Method R Workbench 2023-12-01 Party Notes

Method R Workbench 2023-12-01 Party Notes

Cary Millsap

If you had a chance to join my Workbench Party today, thank you for your time with us. If not, then I hope to see you next time. Here are a few links that should help fortify what we covered:

How did you make mrskew 20× faster?

How did you make mrskew 20× faster?

Cary Millsap

A couple of years ago (June 30, 2020), we released Method R Workbench version 9.0.0.66. It had 113 new features and bug fixes. One of those features was case 7800: “mrskew is now 10–20× faster than before.” We’re prone to sneaking in performance improvements like that. It’s because we, too, use the software we sell, and we…

Coherency Delay

Coherency Delay

Cary Millsap

Today, a reader of How to Make Things Faster asked a question about coherency delay (chapter 47): How does coherency delay manifest itself in trace files? My own awareness of the concept of coherency delay came from studying Neil Gunther’s work, where he defines it mathematically as the strength β that’s required to make your scalability curve fit…

How slow programs are like Christmas

How slow programs are like Christmas

Cary Millsap

Method R makes systems faster. And we make people who make systems faster, faster. We train people to become performance optimization heroes. Here is my story about why you should be interested in our training. Slow programs remind me of Christmas when I was a kid. In early December, my parents would put a present…

A Design Decision

A Design Decision

Cary Millsap

This week, my team at Method R devoted some time to an enhancement request that required an interesting design decision. This post is about the analysis behind that decision. The enhancement request was for our flagship product called Method R Workbench. It’s an application that people use to mine, manage, and manipulate Oracle trace files. One of its features,…

Newsletter 2022-08-31

Newsletter 2022-08-31

Cary Millsap

Here are some of the things we’ve been been working on. Click here to subscribe. New book: Faster Recently, I published a new book called Faster: How to Optimize a System. This one’s different from anything I’ve ever written. Faster is a book about how to make things go faster—mostly computers, but actually just about…

Troubleshooting a Complex Network of Overnight Batch Jobs

Troubleshooting a Complex Network of Overnight Batch Jobs

Cary Millsap

On Oracle-L this week is a discussion about buying Dynatrace vs. Oracle Enterprise Manager. Both tools work harmoniously together, but there’s a third choice you should consider, too: Method R Workbench. Our Workbench helps you mine unbelievable detail from Oracle trace files, even if you’re getting thousands of trace files at a time. Workbench works…

Fetching Oracle Trace Data from, Say, Amazon RDS

Fetching Oracle Trace Data from, Say, Amazon RDS

Jeff Holt

Last week, a Method R Workbench customer was having a hard time downloading Oracle trace files from Amazon RDS. The code that Amazon recommends doesn’t quite work right; it fails to copy trace file lines that are longer than 400 characters. So I wrote a replacement fetcher for him. This method should work for any Oracle implementation…

Quantifying Buffer Cache Pressure

Quantifying Buffer Cache Pressure

Cary Millsap

A few months ago, we received two trace files representing two executions of the same program. One execution took almost 14 times longer than the other. The cause of the difference was dominantly the number of “db file sequential read” calls made by the two executions. Why would two executions of the same program, processing…

Example of resetting user session handle attributes in JDBC

Example of resetting user session handle attributes in JDBC

Jeff Holt

Earlier, Mark Williams showed us how in Java to clear the session handle attributes to enable our code to be more easily traced. Because I had not seen the trace data produced when using his method, I decided to construct a test to see the trace data produced when the code does and does not…

Some things you probably didn’t know about Oracle tracing (Dallas edition)

Some things you probably didn’t know about Oracle tracing (Dallas edition)

Cary Millsap

It really is OK to trace everything—even your whole database if you want to. But you have to do it right. This session explains how to safely trace anything you want, and why you’d want to trace your programs in the first place. This is a Dallas Oracle Users Group (DOUG) webinar presentation, recorded on 7…

Method R Workbench: The Pesky, Intermittent Performance Problem

Method R Workbench: The Pesky, Intermittent Performance Problem

Cary Millsap

New Method R Workbench features are always inspired by needs discovered on real projects. Two new features of the soon-to-be-released Workbench 9—the radically faster mrskew utility, and a new trace file cropping utility called mrcrop—make it faster and easier than ever to shred through millions of lines of Oracle trace data to find exactly what you need.…

Resetting User Session Handle Attributes in JDBC

Resetting User Session Handle Attributes in JDBC

Mark Williams

From Oracle Database 12.1 onward, the JDBC driver provides a convenient method called setClientInfo to set user session handle attributes in the database. There are three user session handle attributes that are useful when instrumenting your application so that it identifies itself and exposes its actions in Oracle Database (such as in the V$SESSION view):

How to make tracing easy

How to make tracing easy

Cary Millsap

Last month (June 2018), I presented at Kscope the story of how to make it easy to collect Oracle extended SQL trace data, so you can measure exactly how an Oracle-based application consumes its user’s time. The slides are available at SlideShare.net.

A Model for Predicting Response Times

A Model for Predicting Response Times

Cary Millsap

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.