The purpose of this utility is to measure how fast the Storage Manager
can receive data through the XBSA protocol. The current XBSA protocol
has a hard coded block size of ~64K this may limit the Storage Managers
throughput capabilities. By running this utility you can measure the
top speed in which a backup can be taken.
How To Use:
To use this utility you must first compile the C
code to an executable. The suggested usage for running this utility is the
./xbsawriter -o informix -v 0 -n NUMBER_OF_64K_BLOCKS_TO SEND -c FILENAME
-o Owner name (should be informix as user informix will usually be the one
erformaing the onbar backups)
-v Verbose mode. With verbose mode set to 0, the utility will dump the return
values of some XBSA system call as well as the time it took for the entire
data transferr to occur. It is suggestsed that you use the -v 0 flag.
-n Number of 64K block to send to the storage manager.
-r Degree of randomness. Values from 0 to 255. By default the XBSAwriter
sends empty buffers to the storage manager. If your storage manager uses
compression, then the throuput number can be skewed. An empty buffer can
be compressed very quickly and will not be indicitive of the data that it
be receiving from Informix. To increase the randomness of the data being
sent over, you can increase that parameter as high as 255. Values of around
200 are more like what Informix is send to the storage manager.
-c The copyfile. This will create (or append to) a file which contains 2
unique identifiers called copyid1 and copyid2. These identifiers can be
used within the storage manager to seek out the objects which this utility
sent to the storage manager. Once found they can be removed from the
storage manager and the space can be reused. Besure to save the number in this
copyfile if as you will need it if you plan on using the
To use this utility simulate what onbar is doing you can create a script
which will kick off a number of these process in parallel.
$ ./xbsawriter -o informix -n 512 -c copyfile -v 0
Directory name is `/tmp'
File name is `test'
Owner is `informix'
Copyid file name is `copyfile'
Blocksize is `63488'
Number of blocks is `512'
Transfer rate after 512 writes
31744.0000 Kbytes in 9 seconds is 3527.1111 Kbytes/sec
This utility will send data to the storage manager. To remove that data
so that you can reuse the space you must save the copyids (-c option) and
use those as identifiers to reclaim that space.
Not available yet. Please Email
email@example.com for an advanced copy.
Compiling the Source:
You must compile the source code to an executable. On Solaris platforms
the complie line will look like the following:
cc xt_store.c xt_error.c xt_xrtns.c /usr/lib/ibsad001.so -o xbsawriter
Note: If you do not have a library called /usr/lib/ibsad001.so, then
replace that library with what you have in the onconfig file for BAR_BSALIB_PATH