Veritas-bu

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

2004-08-13 15:51:47
Subject: [Veritas-bu] buffer level settings for STK 9940b drives
From: ida3248b AT post.cybercity DOT dk (ida3248b AT post.cybercity DOT dk)
Date: Fri, 13 Aug 2004 21:51:47 +0200
Hello Harry

What I would try was

NUMBER_DATA_BUFFERS = 96
SIZE_DATA_BUFFERS = 262144

NET_BUFFER_SZ = 262144 

as the STK9940B is 30 MB/s native and the STK9840A which the technote was 
made for is 10 MB/s. But these settings requires that you media server have 
enough shared memory configured in /etc/system

What I usally do is make the above configuration and then decreases 
NUMBER_DATA_BUFFERS until I stop getting status 89

Regards
Michael


On Thu, 12 Aug 2004 17:02:19 -0400, Schaefer, Harry wrote
> 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 
_______________________________________________
> Veritas-bu maillist  -  Veritas-bu AT mailman.eng.auburn DOT edu
> http://mailman.eng.auburn.edu/mailman/listinfo/veritas-bu


--
Cybercity Webhosting (http://www.cybercity.dk)


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