tcl.buffers.g Verb: Access/TCL

tcl.buffers.g

Command tcl.buffers.g Verb: Access/TCL
Applicable release versions: AP
Category TCL (746)
Description produces a graphic histogram of buffer usage for a range of dates and times.

"counter" is the attribute name in the "dm,buffers.log," file to examine. The available attribute names are:

0 time Times.
1 activ Activations.
2 idle Idle time.
3 fflt Frame faults.
4 writes Disk writes.
5 bfail Buffer search fails.
6 fqfull Read queue fulls.
7 wqfull Write queue fulls.
8 dskerr Disk errors.
9 elapsd Elapsed time.

21 ww Write requireds.
22 iobusy I/O busy.
23 mlock Memory locked.
24 ref Referenced.
25 wq Enqueued writes (write queues).
26 tophsh Top-of-hash.
27 avail Number of available buffers.
28 batch Batch.

Additional attributes available on a hosted Unix system are:

10 dblsrc Double-source.
11 breuse buffers re-used.
12 bsleep buffers sleeping.
13 sem semaphores.

"start.day" is the beginning day-of-the-week for the graph results. The available values are: sunday - saturday, or 0 - 6.

"end.day" is the ending day-of-the-week for the graph results. The available values are: sunday - saturday, or 0 - 6.

"*" Spans the entire week.

"start.time" is the beginning time-of-day for the graph results. The valid values are: 00:00:00 - 23:59:59.

"end.time" is the ending time-of-day for the graph results. The valid values are: 00:00:00 - 23:59:59.

The reports are histogram averages of the buffer values sampled over a period of time (from the "buffers" command). These reports can give the System Administrator a better idea of the workload of the Pick system, and identify possible bottlenecks in the system's performance.

The activity log is stored in the file buffers.log with a data level per weekday (buffer.log,Monday, buffer.log,Tuesday, etc... ). The file is created automatically when the buffers (H) command is used for the first time. Each data level is cleared when changing day, so that the file records a whole week of activity automatically. The itemid is the internal time on five digits.

The buffers command also creates automatically the dictionary attributes corresponding to the various counters, as shown in the table above. The attribute TIME displays the sampling time.

The attribute DESCRIPTION in the D pointers Monday, Tuesday etc... contains the date.

The file is created with a DX attribute.
Syntax buffers.g counter {start.day{-end.day} {step {start.time-{end.time}}} {(option}

buffers.g counter {* {step {start.time- {end.time}}} {(option}
Options g Displays a graph, rather than a histogram. With this option, the 'step' is automatically calculated. With this option, the results are averaged in an attempt to make the curve smoother.

p Direct output to printer.
Example
buffers.g sem  6

0      1      2      3      4      5      6...
+------+------+------+------+------+------+---
16:52:05
16:52:11
16:52:18 **************
16:52:25
16:52:31
16:52:38 *******
16:52:45 *********************
16:52:51
16:52:58
16:53:05 *******
16:53:12 *******
16:53:18

Number of samples   : 13
Total               : 14
Average per period  : 0.0002 / sec.
Max value           : 4
Max value /s        : 0.2857
Peak time           : 16:52:45


buffers.g writes tuesday (g
49.0 *                                             
46.3 |                                           * 
43.5 |                  *                      **  
40.8 |      ***       *  *    ***                  
38.1 |     *   *    ** *    **         **          
35.4 |    *     *         **     *  ***  *   **    
32.7 |*  *       ***              **        *      
29.9 |                                    **       
27.2 | **                                          
24.5 |                                             
21.8 |                                             
19.0 |                                             
16.3 |                                             
13.6 |                                             
10.9 |                                             
 8.2 |                                             
 5.4 |                                             
 2.7 |                                             
 0/s +------+------+------+------+------+------+------
   09:09:26      09:11:46      09:14:06      09:16:26 

buffers.g fflt * 01:00:00 

List the number of frames faults (disk reads), for the whole week, by step of 
one hour. In the example below, no history was recorded before Wednesday.

No log for Sunday

No log for Monday

No log for Tuesday

20Feb1991; Wednesday; Ctr=fflt, Step=01:00:00, Range=00:00:00-23:59:59

         0      8848   17696  26544  35392  44240  53088  61936  
         +------+------+------+------+------+------+------+------+----
10:59:28 *************************
11:59:54 ***********************************************************
13:00:25 **********************************************************
14:00:52 ************************************
15:01:18 ***************************
16:01:49 ********************************************************
17:02:22 ***************************************
18:02:55 ******
19:03:32 ***********************************************
20:04:08 *************************************************
21:04:43 
22:05:21 ***************************************************
23:05:55 *************

Number of samples   : 155
Total               : 622070
Average per period  : 7.1999 / sec.
Max value           : 88481
Peak time           : 13:00:25

buffers.g ww monday-friday 00:30 08:00-17:30 (p

List the percentage of write required write required buffers, for the week days 
only, during business hours, by steps of 30 minutes.
 

Interpreting Results

After taking a significant sample, list the results with the buffers.g command 
. The most useful parameters to survey are: 


Fflt    This measures the number of frame faults. If this number approaches the 
disk bandwidth as determined by the manufacturer, the system becomes disk 
bound. Solutions range from increasing the memory allocated to Pick, to 
changing disks, or reorganizing the Pick data base on separate disks to 
increase parallelism.

Writes  This number should stay about one third to a half of the number of 
frame faults. It is not 'normal' for a system to do more writes than 
it reads, under normal operation. If this is not the case, see the section 
'Flusher Adjustment' in this article.

Bfail   This number should never be non zero. If it is not the case, the memory 
allocated to Pick is definitely too small.

WqFull  This number should not be non-zero 'too often'. If it is the 
case, and if the number of writes is too big also, there is an abnormal rate of 
writes. See the section 'Flusher Adjustment' in this article.

Bcolls  If this number becomes too high, this indicates that a lot of batch 
jobs (like selects of big files) are done while other processes are doing data 
entry. It is also an indicator that indeed interactive jobs are receiving 
higher priority than batch processes. See the section 'Interactive - Batch 
Processes' below.

ww      This number should never go above 50 % of the whole buffer pool. If 
this is the case, the flusher is probably not activated often enough. See the 
section 'Flushed Adjustment' below.

avail   This number should never go below 10% of the whole buffer pool. If this 
is the case, memory must be increased or the flusher must be adjusted.
Purpose
Related tcl.buf-map
tcl.monitor-status
tcl.flush
tcl.set-flush
flusher
tcl.buffers