“Hey, do you have a second to look at this thing I wrote?”

No. Not really. A “second” is at least 15 minutes by the time I get back to what I was doing. I do respect that people want to use me as a sounding board so I make time. Besides, I’m sitting here waiting for a data conversion between PostgreSQL and Oracle to fail, just watching it.

“What is it?”

“It’s a system to graph the performance of our servers.”

“Um, we have one of those already.”

“Yeah, this one is cool, though.”

“Oh, what does it do differently that’s nicer?”

“It polls every 10 seconds.”

“It’s really interesting seeing graphs of performance that aren’t averaged over five minutes. You get a really different view of what is happening on machines.”

“Yeah! It also grabs all kinds of other stats, too.”

“Like what?”

“Well, like the process list, for example.”

“Okay… why do you need a historical accounting of all the processes?”

“You can see how long they’ve been running!”

“Okay, well, I’m not sure how that’s useful but show me.”

Mentally I’ve already acted as judge and jury. The executioner has gotta be around here somewhere.

“SSH into server blah.blah.blah and you can see it.”

So I log in. I have a really old habit of typing ‘w’ every time I log in somewhere. Who is on the machine? What’s the load? If there is load I’ll often just instinctively run ‘top.’

“Dude, what do you have running on this machine?”

“I’ve just been testing this script.”

“What else is running here?”

“Nothing. Why?”

“Well, your script appears to be causing quite a bit of load on the machine.”

“Yeah, that’s normal. It grabs a lot of data and parses it. Turns a lot of it into XML.”

“Normal? XML?”


“Have you ever heard of the Heisenberg Uncertainty Principle?”


“Don’t you think it applies?”

“To computers?”

“Yeah. Basically you cannot monitor a system without inducing load on the system, which changes the state of the system, making it hard to monitor.”

“Sure… you’ve been doing some performance tuning lately, maybe you could try it out.”

If by try it out you mean throw it away, sure, I’m all over that.

“Dude, the load on this machine is 2, and other than your script it’s idle. I’ll stick to my old fashioned tuning methods. They only change the system’s state by 1%, not 100%, and don’t turn their output into huge XML files.”

“1%? That’s pretty efficient. What tool do you use?”

“Um, stuff like vmstat, iostat, sar, top. If I want hi-res graphs I can turn up the frequency of our procallator.pl/ORCA graphing.”

“Oh, really? How do I do that?”