Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Interpreting statspack report

Re: Interpreting statspack report

From: Jonathan Lewis <jonathan_at_jlcomp.demon.co.uk>
Date: Thu, 24 Nov 2005 11:25:32 +0000 (UTC)
Message-ID: <dm47vc$q1u$1@nwrdmz02.dmz.ncs.ea.ibs-infra.bt.com>


"Pascal" <pascal.oegerli_at_postmail.ch> wrote in message news:1132781980.108742.280080_at_g44g2000cwa.googlegroups.com...
>
>> > Buffer Gets Executions Gets per Exec %Total Time (s) Time (s)
>> > Hash
>> > Value
>> > --------------- ------------ -------------- ------ -------- --------- ----------
>> > 5,936,120 48,747 121.8 10.5 1114.58 1570.03
>> > 3004224063
>> > Module: w3wp.exe
>> > SELECT A.CAPTION, A.LANG_ID FROM X_MLTEXT A WHERE ML_ID=:B1 ORDE
>> > R BY LANG_ID DESC
>> >
>> > 2,794,360 19,353 144.4 4.9 524.16 847.55
>> > 1434437237
>> > Module: w3wp.exe
>> > SELECT A.CAPTION, A.LANG_ID FROM X_MLTEXT A, X_ML B WHERE B.ML_I
>> > D_CODE = LOWER(:B1 ) AND A.ML_ID=B.ML_ID ORDER BY LANG_ID DESC
>> >
>
> Thanks for your reply. The machine is a server that runs about 50
> databases. The customer is a large telecomunications company in
> Switzerland. Unfortunately, I have no acces to the server itself, I
> only have some statspack reports.
>
> The particularly expensive statment gets the labels for the fields of a
> screen of the application. It is executed once when a user navigates to
> any screen. I will ask the developers if it is possible to load all
> text at the beginning of the application and put it in the application
> server cache. I think this would be a big gain.
>
> Regards
>
> Pascal
>

You seem to be getting a lot of CPU and not many waits if you have 50 databases running on the same machine. Whatever else is happening, your users may find the application slow because of everything else that's happening on the machine.

The statistics for this statement (121 buffer gets per execution) combined with your comment about getting "the labels for the fields of a screen" don't quite match. Do you really have an average of about 121 fields per screen ?

This suggests two things:

    the table is quite small and being tablescanned every single     time (which can use up a lot of CPU), or

    the fields are being fetched one at a time, which could mean     about 4 buffer gets per field, which brings the average down     to 30 fields per screen. (Or maybe there are several different     languages, and the front-end is deciding which language to     display after fetching all of them). This would use up excessive     CPU, increase the latching, and waste time in round-trips, which     would be hidden by statspack because it doesn't report time     lost on sql*net message from client.

You might be able to do something about improving efficiency without going to the extreme of engineering code to fill and use a front-end cache.

-- 
Regards

Jonathan Lewis

http://www.jlcomp.demon.co.uk/faq/ind_faq.html
The Co-operative Oracle Users' FAQ

http://www.jlcomp.demon.co.uk/cbo_book/ind_book.html
Cost Based Oracle: Fundamentals

http://www.jlcomp.demon.co.uk/appearances.html
Public Appearances - schedule updated 4th Nov 2005
Received on Thu Nov 24 2005 - 05:25:32 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US