Consultor Eletrônico



Kbase P1626: Promon Buffer Hits Calculation Error
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   15/10/2008
Status: Verified

FACT(s) (Environment):

Progress 8.x
Progress 9.x

SYMPTOM(s):

Problem in the Buffer Hits calculation

Buffer hits drop for no apparent reason

Using promon

CAUSE:

This is a known issue.

If you normally see a good number for Buffer Hits (in the high 80s or 90s as recommended by Progress) that suddenly drops dramatically (to maybe 10 or 20 percent or less) for no apparent reason, you are likely seeing the Buffer Hits calculation overflow issue in promon.

This is caused when another number in promon, "Logical Reads", reaches about 45,000,000 at which point the Buffer Hits calculation overflows.

You can find the Logical Reads count in promon by:
R&D -> 2. Activity Displays -> 3. Buffer Cache.

As an alternative method of calculating Buffer Hits:

Buffer Hits ~= ((Logical reads - O/S reads) * 100.0)/Logical reads

These values can be gotten from the other numbers on the "Buffer Cache" screen.
This calculation should be accurate to within a few percent.

FIX:

To avoid the overflow issue in the Buffer Hits calculation, the sampling features of promon should be used. Sampling resets all counters.

To get a good measurement of Buffer Hits, select a busy time of day for your system. Get Buffer Hits for the same time each day and for the same sampling interval.

To set the sampling interval:
R&D-> 5. Adjust Monitor Options-> 3. Monitor sampling interval (some versions of promon show this as option 7., but it's really 3.)
Then, set the interval to a reasonable length of time (600 seconds works well).
Now go back to the Buffer Cache screen.
Choose S to sample.

The screen will freeze for the sampling interval you selected. When the interval is up, you will get numbers that reflect the interval you selected. By repeating this at the same time of day and for the same interval, you will get numbers that are useful for comparison. And because sampling resets all counters, you will meanwhile avoid the overflow problem in the Buffer Hits calculation.

Incidentally, the above does not occur in OpenEdge 10.x, where the internal counters have been changed to 64-bit integers, thus removing the overflow problem.