Wednesday, November 30, 2005

Could someone please explain Baselines to me?

I see the word baseline used a good deal these days. Enterprise Manager or Grid Control (or whatever it's called this week) either has or will have the ability to collect baselines, I'm told.

My first problem with this is that I don't know the definition of a baseline, let alone a baseline for a database-centric system. If somebody has a good definition, please let me know. How exactly does a baseline rise from the collection of, say, statspack reports?

My second problem with baselines is that I cannot see the usefulness of them, but that could easily be because of my first problem.

Here's my background for putting this topic forward:

1. As mentioned, I see the word used, but I never see any examples of an implementation of baselining.

2. If everything in a system is slow (controller died, disk system exploded, months' end, etc.) then I want to know how a baseline can pinpoint the reason.

3. If a batch job or a report or a form is slow, then I'd like to know how (if) a baseline can find the reason.

19 Comments:

Anonymous Simon said...

Maybe the word baseline isn't so good to be used but if you have statspack reports (which you used in your example) when the system was actually fine, isn't it good comparison for when things ain't anymore so fine?

Of course if your system was setup in way that everything went straight to hell from day one then having any baselines wont help most likely. Maybe i've had just good luck but usually its just one or two problems, not everything.

What are the things in database where you could use those "baselines" anyway apart from statspack reports? If you have baseline of your table/index stats which are good and never updated? :) Of course if they are updated for whatever reason you could always fall back to the "baseline" to fix the problem..

11:55 PM  
Blogger Moans Nogood said...

Hi Simon -

Well, I'm not saying that Statspack baselining isn't a good thing. I have just never seen how to actually use them for it.

What things in the Statspack reports would you compare? And what conclusions would you draw?

1:16 AM  
Anonymous Simon said...

Hi,

I'd just go with the traditional waits and tablespace/disk usage perhaps. Of course it could be applied to almost all other parts aswell, if suddenly some sql statement pops out which never has been in the statspack reports and takes 90% of the time its easy to see.

Then again for that I don't think there is need for baseline. :)

I'd say that the problem with baselines is that if you manage couple databases and know the systems well then you can keep the baselines and monitor specific things pretty easily, but if the amount of databases goes up it might be more difficult to keep track how things have been and what parts matter.

For me this seems to work since I don't know all the v$ tables so well (as maybe I should!) and statspack reports provide rather easy way to track things.

1:49 AM  
Anonymous Anonymous said...

As with everything you can put diferent meanings and depth with words. You could mean a 'system-wide' baseline, for what this is worth, or a more specific baseline.

Monitoring the elapsed_time and the hash_plan_value (or plan_hash_value) in V$SQL to see if something is changing (mentioned in a previous post) is to some extent using a baseline.

2:17 AM  
Blogger shrek said...

i think the only use for a baseline i've found to to tell people who complain to me that the system is slow that it's not because it's running "to the baseline".

keeps damagers off my nether reagions.;-)

5:46 AM  
Blogger Roger Snowden said...

Well, one question I like to ask, when told of a performance problem, is "What makes you think you have a problem?"

Okay, I may put it slightly more diplomatically, but the underlying questions is: "When was performance good, and what did things look like then?"

Hardly anyone can quantify a performance problem, but then hardly anyone collects metrics during "good" or "normal" times and tags them as such. Which would be a baseline, of course.

But, if they did, they would at least have something to which to compare, and a basis for quantifying a performance problem.

Does this seem unreasonable to you?

A comparison will not necessarily tell you what the cause of a problem is, but certainly can give you an idea of where the problem lies, and correlated behaviour, etc.

Perhaps most important, it gives you a way to declare success when you imagine you have solved the problem.

Like that Beatles song about "Jojo".

6:37 AM  
Blogger Noons said...

Ah yes: baselines. Right up there with: "How do I set this laser printer to stun?" in my scale of annoyance.

In the old days when engineering was a career instead of just a suffix for "re", a baseline was very simply a known state of a dynamic system that could reliably be returned to and therefore used to make measurements against.

Kinda like the 0 in the Celsius temp scale: all you gotta do to return to it is freeze water. And you use it as a reference point to measure against. Say, for example: you measure the expansion of mercury in a capillary tube at water freezing, measure again at water boiling point, then divide the distance between the two into 100 and *convention* that you'll call each division one degree Celsius.

Then you extrapolate from there and hope like crazy mercury will still expand linearly at 1000. But, I digress...

In IT, it is mostly a vague term used to imply that at some stage someone has taken a measurement in time and unilaterally decided to call that the "0C" in the scale.

Of course, few bother to then explain what kind of "water" is being used, what was used to "freeze" it or indeed what is "freezing", what is the "boiling point" that one can use to then divide the scale into 100ths, etcetc.

Some guys (like C. Millsap and most of the Oakies) actually DO bother to consider all that. But like a fisho friend of mine used to say when I asked him if they were biting:

"They are, but there is a lot of water between them..."

5:06 PM  
Blogger Roger Snowden said...

So, Nuno, does that mean baselines are useless, or engineers mostly suck?

6:05 PM  
Blogger Jeff Hunter said...

Baseline: A measure so low that when you move indexes to 32k blocks you look like an expert.

7:18 PM  
Blogger Noons said...

Rog:
both. Or in other words: I'm still learning how to boil water, one thing at a time!

7:44 PM  
Blogger Moans Nogood said...

Thanks for your comments, folks. Very useful.

Nuno: I think perhaps you nailed my problem with your: "...a known state of a dynamic system...". How can you have a known state of a dynamic system?

Simon: I agree that you could look at the top 5 waits and see if they change, but could it not still mean either that the system is doing better, the same, or worse, even if they change in size or individual distribution?

Shrek/Roger: You're the best - good stuff I can use for many years.

My next topic will be the utter uselessness of Statspack, I think :-).

2:35 AM  
Blogger Norman Brightside said...

Easy. Deliberately misconfigure the Oracle SGA. [ You may be lucky. This may already be the case. ] Run an aribtrary, artificial benchmark. Get some meaningless performance metrics and proudly state this is the 'baseline'. Tune the application, tune the I/O, tune the O/S, tune the database. Re-run the benchmark. Gleefully proclaim that you have obtained a 2,345,678 improvement in system throughout over the 'baseline'.

4:43 AM  
Anonymous joao said...

Hey Mogens:

I'm an Oracle DBA and advid beer connoisseur as well.
I visited your miracle breweries site and it looks like a great operation!
Is the beer flowing? What types of beer do you brew? Any plans to export to the USA?:)

Cheers

Joao

6:17 AM  
Blogger Moans Nogood said...

Andy C: Excellent suggestion. You've got all the basics covered, I can tell :). Unfortunately, you are much too realistic, ie you're describing what is often happening in the real World... You are therefor, of course, officially fired for this :-).

Joao: Yep, the beer is flowing, and so far the brews have been good, and people tend to like it, so that's good. We've only made the German type of beer known as Alt-bier, which would be sort of a German ale. I'm looking into bringing a keg or two with me for the RMOUG Training Days conference in Denver in February, but who knows what American Tax and Customs authorities can come up with in that connection.

Unfortunately, we're always completely sold out, so we're doing the classical mistake of selling something we don't have, ie we're promising our friends beer that isn't finished in the tanks yet. Man, when one of the brews fail we'll have lots of angry Danes attacking us with ancient farm tools and throwing empty beer glasses at us.

10:35 AM  
Blogger Roger Snowden said...

At least the angry Danes won't be drunk, angry Danes. On the other hand, sober Danes might be the greater threat.

7:35 PM  
Anonymous Bob B said...

Another good way to use a statspack is to see how a physical change has effected your application(s). Say you switch your archive logs to a faster disk (or slower). Take a baseline before, take some snapshots after and see if the appropriate wait times have changed, in aggregate, for the application.

7:21 AM  
Blogger Tim... said...

Baselines can be useful in a certain context. I work on a number of systems, so when I get a call saying, "The system seems a bit slow!", I want to know if it actually is, or if the person on the other end of the line is being more impatient than usual. By comparing the current performance to a baseline I can quickly make a decision whether to drop my current work to investigate/fix the issue, or ignore it. It's like a triage thing.

Of course, the thing being baselined is important. I usually use tests of a functional area, not reads and writes.

If you are working on one system, or you have time on your hands, then what's the point. If you have many systems it's handy in organising your priorities.

Just a thought.

Cheers

Tim...

12:47 AM  
Blogger weddingdresses said...

Welcome to our Coach Outlet Store, 70% Off, Coach Purses, 2011 Coach Outlet Store Online and shopping, coach outlet store are proud to offer you the Best Designer Handbags. Our coach purses lasting quality, exquisite craft. Discount Handbags are perfect for young fashionable girls as well as mature traditional women. We believe this discount Coach Purses is what you want. It must be a wise choice for you to choose these Coach Handbags !

so many 2011 new porducts here,70% just for you!
winter boots
power balance bracelet
power balance
Coach Bags
Coach Shoulder bags
Coach Crossbody Bags
Coach Wallets
Coach Business Bags
Coach Backpacks
Coach Sling Bags

1:46 AM  
Blogger carrera sunglasses said...

Be that a conventional pbngtwq occasion venturing out Oakley Sunglasses Cheap to meet litigant or to wait a achieving Half X Oakley or you might be moving from a weekend Oakley Sunglasses Discount or even a holiday package deal to loosen up Sale Oakley Sunglasses on marine beaches or perhaps drive extended Oakley Jawbone stays to have a great time and satisfaction wholesale Oakley Stpl Jawbone for guys offer every type of Half X. The components used are usually of good quality and are usually durable, rough and also tough merely matching the necessity of a person. The from suppliers sun spectacles Oakley Sunglasses Outlet just easily blend with all the requirement regarding men and also trend which is followed.

4:34 AM  

Post a Comment

Links to this post:

Create a Link

<< Home