« Tim O'Reilly interviews Mark Shuttleworth | Main | Who Gets to Decide What Open Source Means? »

July 25, 2007

Josh Berkus: Performance Whack-a-Mole

At OSCON 2007 listening to Josh Berkus talk about finding database performance issues in a web application. I see that Brian and Peter are here. I've been to many-a-MySQL tuning session, will be interesting to see how it differs looking at it from Postgres.

[prior to starting Josh is playing a Flash-based game (projected on the screen) called Mole where you try to whack a mole on the head]

Josh was involved in the recent benchmarks published comparing Oracle and PostgreSQL.

Josh looks at a stack with hardware, OS, database, middleware and application and talks about trying to figure out where in the stack. Each layer down the stack should be capable of handling.

Rule 1 of whack-a-mole is that the problem is actually not always in the database itself. Rule 2 is that 10% of the issues will cause 90% of the performance degradation. Not worth focusing on the 90%. Rule 3 is that you only see one problem at a time. One performance problem will mask others. Rule 4 is that different applications require looking at different parts of the system.

Database uses differ. There are three general classes of applications; the web app (CPU-intense, focus on caching, pooling, connections, online transaction processing (CPU or I/O bound, focus on locks, cache, transactions, write speed, logging), and data warehousing (I/O or RAM bound).

Prior to doing any performance work you need to go through each layer of the stack and gather information. Sometimes this process is more important than the actual adjustments will make. Gather all kinds of details about the hardware, operating system, database, middleware, and application.

In the end, there was very little database-specific discussion.

Josh didn't do a lot of work with Solaris before going to Sun. Didn't recommended it at all because he was a Linux and FreeBSD guy.

Posted by mike at July 25, 2007 10:45 AM

Comments

Post a comment




Remember Me?