Veritas-bu

[Veritas-bu] buffer level settings for STK 9940b drives

2004-08-12 17:02:19
Subject: [Veritas-bu] buffer level settings for STK 9940b drives
From: Harry.Schaefer AT turner DOT com (Schaefer, Harry)
Date: Thu, 12 Aug 2004 17:02:19 -0400
Does anyone else use STK 9940B drives? We had previously tuned our buffers to 
match what Technote #236103 said regarding how to tune STK 9840 drives, which 
is:

NUMBER_DATA_BUFFERS = 32
SIZE_DATA_BUFFERS = 262144

Thing is, I am seeing nothing regarding full buffers, but craploads of "waited 
for empty buffer" messages. We only have two 9940 drives per media server (Sun 
v240) and they run inline tape copy, so it is a solid stream of data coming 
across a gig link to essentially one drive that is rated to do 30 mb/sec 
native, 40+ mb compressed.

Just wondering if anyone is doing anything similar and what they are doing as 
far as buffer settings. The frustrating thing is my logs are telling me that I 
do not have enough buffers, but I cannot find any guidance (Veritas manuals, 
technotes, etc.) regarding how high to bump them up to...

Harry S.
Atlanta



-----Original Message-----
From: veritas-bu-admin AT mailman.eng.auburn DOT edu [mailto:veritas-bu-admin 
AT mailman.eng.auburn DOT edu] On Behalf Of Mark.Donaldson AT cexp DOT com
Sent: Tuesday, August 10, 2004 6:00 PM
To: veritas-bu AT mailman.eng.auburn DOT edu
Subject: [Veritas-bu] Monitoring perfomance at the buffer level

Here's a quick and dirty script that sweeps the bptm logs on a media server for 
a supplied policy name and reports the "fill_buffer, waiting on empty buffer" 
and "write_backup, waiting on full buffer" statistics.

Output looks like this:

>policy_perf Hot_PRD
## Gathering data..........Done.
## Write to buffer waiting on available buffer:
Min: 0  Avg: 356  Max: 5877 with 285 samples

## Write to tape waiting on full buffer:
Min: 0  Avg: 43373  Max: 290583 with 7 samples

The "Hot_PRD" is the name of my policy (no safety checking on this one - type 
it right or get back nothing).  It then sweeps *today's* bptm logfile and 
counts up the times that the process writing to the tape buffers was waiting on 
an empty buffer to become available and it also counts up the times that the 
process writing to the tape was waiting for a buffer to become full before it 
could write the data to a tape.

If the Write to Buffer is waiting for an available empty buffer a whole bunch, 
then perhaps you should increase your buffer count.  If you're tape writing 
process waiting on a full buffer a lot, then you're starving your tape drives 
and you should find a way to increase the delivery of client data to your media 
server or increase your multiplexing factor.

More info available here:
http://seer.support.veritas.com/docs/244652.htm (NT but applicable to unix)

...and here...
http://seer.support.veritas.com/docs/183702.htm

Here's the script.  Watch for line-wrap issues if you cat and paste, it wraps 
pretty badly and e-mailing through Exchange often adds more wrapped lines...

Have fun with it.

-M

> cat policy_perf
#!/bin/ksh

policy=$1

today=`date +%m%d%y`
TMPFILEf=/tmp/`basename $0`.tmp.f
TMPFILEw=/tmp/`basename $0`.tmp.w

[ -f $TMPFILEf ] && rm -f $TMPFILEf
[ -f $TMPFILEw ] && rm -f $TMPFILEw

echo "## Gathering data.\c"
for pid in `grep  "START BACKUP.*-cl $policy"
/usr/openv/netbackup/logs/bptm/log.$today |\
  awk '{print $2}' | sort -u | tr -dc "[0-9]\012" ` do
  echo ".\c"
  awk '$0~/\['$pid'\]/ && $0~/fill_buffer.*waited.*empty/ {print $13+$16}'
/usr/openv/netbackup/logs/bptm/log.$today >> $TMPFILEf
  awk '$0~/\['$pid'\]/ && $0~/write_backup.*waited.*full/ {print $9+$12}'
/usr/openv/netbackup/logs/bptm/log.$today  >> $TMPFILEw done echo "Done."

echo "## Write to buffer waiting on available buffer:"
awk '{if (NR==1){min=$1;max=$1;sum=$1;count=1} else
                {if($1<min){min=$1}
                 if($1>max){max=$1}
                 sum=sum+$1 ; count++}}
      END {if (count>0){print "Min:", min," Avg:",int(sum/count+.5),"
Max:",max, "with",count,"samples" } 
           else {print "No Data Found."}}' $TMPFILEf [ -f $TMPFILEf ] && rm -f 
$TMPFILEf

echo "\n## Write to tape waiting on full buffer:"
awk '{if (NR==1){min=$1;max=$1;sum=$1;count=1} else
                {if($1<min){min=$1}
                 if($1>max){max=$1}
                 sum=sum+$1 ; count++}}
      END {if (count>0){print "Min:", min," Avg:",int(sum/count+.5),"
Max:",max, "with",count,"samples"} 
           else {print "No Data Found."}}' $TMPFILEw [ -f $TMPFILEw ] && rm -f 
$TMPFILEw

exit

-M




=================================================
  (2B|^2B) == ?
=================================================
  Mark Donaldson - SA - Corporate Express 
=================================================
_______________________________________________
Veritas-bu maillist  -  Veritas-bu AT mailman.eng.auburn DOT edu 
http://mailman.eng.auburn.edu/mailman/listinfo/veritas-bu

<Prev in Thread] Current Thread [Next in Thread>