Hi Paul, Hi John,
>I use the little perl-script in attachment to measure my tapespeed.
>Use like:
On the first step, I used Paul perl script to try to get the minimum
transfer rate needed to keep the tape streaming.
I used the script with various buffer size, until the tape stopped
streaming.
- With compression disabled on the tape device:
Uncompressable data:
Buffer size Transfert rate MB/s
1 MB 5.026
512 k 4.974
256 k 5.013
128 k 4.949
64 k 5.026
32 k 5.014
24 k 5.000
23 k 4.688 does not stream
Compressable data would give the same rate, it proves the tape drive
does not try to compress them.
- With compression activated:
32% compressable data: 6.909 MB/s
85% compressable data: 23.469 MB/s (the drives achieves 78% compression rate)
>From this checking, I assume I need 5MB/s transfer rate to keep the
tape drive streaming.
------------------------------------------------------
On the second step, I conducted the checks suggested by John.
>You need to split these into dumps that were written to tape from
>the holding disk vs. those written directly to tape from the network.
>To do that, look at the amdump.<nn> file(s). Those with "FILE-WRITE" are
>holding disk -> tape. Those with "PORT-WRITE" are network/dumper -> tape.
>The "DONE" line from taper tells you the KBytes/s rate.
Transfert rate from amdump reports, FILE-WRITE
Only chuncks bigger than 200MB are shown.
Transfert rate is almost enought, except on dump 3 when many parallel
dumpers were running.
amdump.1: dump size 2152.2 MB, transfert rate 5095.6 kbps
amdump.2: dump size 270.7 MB, transfert rate 4837.0 kbps
amdump.2: dump size 1383.4 MB, transfert rate 5117.2 kbps
amdump.2: dump size 339.6 MB, transfert rate 5087.1 kbps
amdump.2: dump size 271.2 MB, transfert rate 4628.5 kbps
amdump.3: dump size 431.1 MB, transfert rate 4741.1 kbps
amdump.3: dump size 233 MB, transfert rate 4459.9 kbps
amdump.3: dump size 203.6 MB, transfert rate 4508.8 kbps
amdump.3: dump size 1840 MB, transfert rate 4719.7 kbps
amdump.3: dump size 1940.4 MB, transfert rate 4998.5 kbps
amdump.3: dump size 2166 MB, transfert rate 4874.6 kbps
amdump.3: dump size 864.3 MB, transfert rate 5006.2 kbps
amdump.3: dump size 470.6 MB, transfert rate 2736.9 kbps
amdump.3: dump size 1837.6 MB, transfert rate 5036.4 kbps
amdump.3: dump size 3558.5 MB, transfert rate 5126.8 kbps
amdump.3: dump size 267 MB, transfert rate 4247.4 kbps
amdump.3: dump size 621.8 MB, transfert rate 4898.4 kbps
amdump.3: dump size 5562.8 MB, transfert rate 5136.0 kbps
amdump.7: dump size 1262.6 MB, transfert rate 4607.2 kbps
amdump.8: dump size 270.7 MB, transfert rate 4435.8 kbps
amdump.8: dump size 271.2 MB, transfert rate 4563.2 kbps
amdump.8: dump size 339.6 MB, transfert rate 4172.3 kbps
amdump.8: dump size 250.1 MB, transfert rate 4549.9 kbps
> * Reload a good sized (10's to 100's of MBytes) image from some tape
> into the holding disk. Actually, I'd store it in a temp area within
> the holding disk, then create the holding disk datestamp directory and
That chuck is 2 GB.
- iostat during amrestore -r
reading tape to disk at 5MB/s, the tape is streaming
tty da0 acd0 sa0 cpu
tin tout KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s us ni sy in id
0 229 64.00 82 5.13 0.00 0 0.00 32.00 163 5.10 91 0 6 3 0
0 76 62.64 83 5.09 0.00 0 0.00 32.00 162 5.08 92 0 5 2 0
0 76 64.00 82 5.13 0.00 0 0.00 32.00 165 5.16 94 0 4 2 0
0 76 64.00 83 5.20 0.00 0 0.00 32.00 167 5.20 95 0 3 2 0
0 76 62.66 84 5.15 0.00 0 0.00 32.00 164 5.14 91 0 7 2 0
0 76 55.85 96 5.24 0.00 0 0.00 32.00 163 5.11 92 0 5 3 0
0 76 64.00 81 5.07 0.00 0 0.00 32.00 163 5.10 92 0 6 2 0
0 76 62.67 85 5.22 0.00 0 0.00 32.00 166 5.17 95 0 2 2 0
0 76 64.00 82 5.14 0.00 0 0.00 32.00 164 5.14 95 0 3 2 0
0 76 64.00 81 5.07 0.00 0 0.00 32.00 163 5.11 96 0 2 2 0
> * dd the image from the holding disk to /dev/null with bs=32k and
> see what kind of rate you get.
- iostat during dd if=file of=/dev/null bs=32k
the disk (da0) transfert rate is about 23 MB/s
dd comand reports 26.8 MB/s
tty da0 acd0 sa0 cpu
tin tout KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s us ni sy in id
0 229 63.74 425 26.46 0.00 0 0.00 0.00 0 0.00 85 0 12 2 0
0 76 63.73 416 25.92 0.00 0 0.00 0.00 0 0.00 81 0 13 6 0
0 76 63.74 425 26.44 0.00 0 0.00 0.00 0 0.00 88 0 9 2 0
0 76 63.74 425 26.44 0.00 0 0.00 0.00 0 0.00 84 0 12 4 0
0 76 63.87 426 26.59 0.00 0 0.00 0.00 0 0.00 84 0 12 4 0
0 76 63.74 425 26.47 0.00 0 0.00 0.00 0 0.00 86 0 12 2 0
> * Set tapedev in the alternate configuration to /dev/null.
>
> * Run amflush with the alternate configuration and see what kind of
> rate you get.
- iostat during amflush to /dev/null
amflush is flushing the disk to nothing, transfert rate is above 30MB/s
tty da0 acd0 sa0 cpu
tin tout KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s us ni sy in id
0 229 63.78 513 31.97 0.00 0 0.00 0.00 0 0.00 64 0 31 5 0
0 76 63.79 522 32.52 0.00 0 0.00 0.00 0 0.00 65 0 29 5 0
0 76 63.79 533 33.17 0.00 0 0.00 0.00 0 0.00 62 0 35 3 0
0 76 63.79 525 32.72 0.00 0 0.00 0.00 0 0.00 65 0 30 5 0
0 76 63.79 529 32.98 0.00 0 0.00 0.00 0 0.00 63 0 33 4 0
amflush report:
Avg Tp Write Rate (k/s) 26508.1 26508.1 --
>From the 2 above tests, I assume the disk speed is not the bottle neck.
> Then I'd try the above test cases with a real tape and see what you get.
- iostat during amflush to tape, tapebuf=64
transfert is approximately 5 MB/s, the tape is streaming
tty da0 acd0 sa0 cpu
tin tout KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s us ni sy in id
0 229 64.00 83 5.20 0.00 0 0.00 32.00 165 5.16 94 0 5 1 0
0 76 64.00 80 5.01 0.00 0 0.00 32.00 161 5.05 94 0 5 1 0
0 76 64.00 83 5.20 0.00 0 0.00 32.00 165 5.17 91 0 9 0 0
0 76 63.34 84 5.21 0.00 0 0.00 32.00 166 5.20 96 0 4 0 0
0 76 64.00 80 5.01 0.00 0 0.00 32.00 160 5.01 93 0 7 0 0
0 76 64.00 83 5.20 0.00 0 0.00 32.00 166 5.20 96 0 4 0 0
0 76 63.32 81 5.02 0.00 0 0.00 32.00 160 5.01 94 0 5 1 0
0 76 64.00 83 5.20 0.00 0 0.00 32.00 166 5.20 88 0 10 2 0
amflush report:
Avg Tp Write Rate (k/s) 4991.3 4991.3 --
- iostat during amflush to tape, tapebuf=32
tty da0 acd0 sa0 cpu
tin tout KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s us ni sy in id
0 229 62.00 84 5.09 0.00 0 0.00 32.00 161 5.04 94 0 3 3 0
0 76 64.00 83 5.20 0.00 0 0.00 32.00 167 5.20 88 0 9 3 0
0 76 63.32 81 5.02 0.00 0 0.00 32.00 159 4.98 95 0 4 2 0
0 76 64.00 83 5.20 0.00 0 0.00 32.00 166 5.20 94 0 4 2 0
0 76 64.00 80 5.01 0.00 0 0.00 32.00 160 5.01 91 0 5 3 0
amflush report:
Avg Tp Write Rate (k/s) 5061.6 5061.6 --
>Keep in mind that the holding disk may now be contending with the tape
>if they are on the same bus. If you have enough disk space on some
>other device, you could try putting the holding disk there for testing.
Tape and disk are each on a separate SCSI (U 160) controller.
>About the only tunable taper has is the number of buffers (tapebufs).
>I'd try doubling that and see what happens, but only after I was sure
>nothing else was the bottleneck.
Apparently it does not change anything to go from 32 to 64 tapebuf. I
beleive I must keep it to the minimum so it will not grab unnecessary
memory.
Well I beleive it should be considered as acceptable :) Only I'd like
to acheive all and any tunning before I decide the machine can be put
into production and forget about it :)
Thank you for your attention,
Olivier