![]() |
![]() |
![]() |
|
|
![]() |
Setting Software Parameters for Efficient Backups
Most save operations are limited by the time required to open a file and read its extents into memory. Hardware or software caches cannot help to improve disk performance because the data is read only once. Therefore, how files are laid out on disk is important.
Input file processing in BACKUP results in a minimum of two 1-block read I/Os to open the file and to read the file attributes. This overhead is the same for small as for large files. Therefore, saving the same amount of data from large files can be as much as three times more efficient than saving data from small files.
In issuing one I/O for each file extent or file fragment on disk, BACKUP must break down I/Os for larger extents to fit the internal buffer size that the /BLOCKSIZE parameter specifies. The maximum I/O that BACKUP can issue is 127 blocks, or 63.5K. Files with just one extent (contiguous file) can be saved most efficiently. The more extents per file, the longer it takes to save the file.
BACKUP reads files from disk in alphabetic order by directory path and file name. You can obtain the best performance by placing files and all their extents on disk in alphabetic order and make the files contiguous. You can accomplish this by using BACKUP/IMAGE when you do an image save-and-restore. Most defragmentation utilities do not arrange files in alphabetic order, and, in some cases, these utilities decrease the performance gains that result from consolidating files into larger extents.
The Effect of File Size on BACKUP Performance
File size can have a great effect on BACKUP performance when creating save sets, copies, and image backups, but file size has not effect on physical backups. The graph in XXXXX illustrates that, under certain circumstances, a set of small files can take up to 40 times longer to back up than a set of large files containing the same amount of data. This is due to file system overhead. The four different curves in the figure show that the effect varies with the type of BACKUP and the components involved.
Figure 1 Effect of File Size
on BACKUP Performance |
![]() |
Fragfmentation can also slow down BACKUP considerably. On HSJ50s, fragmented files can take over twice as long to back up as non-fragmented files. The effect on performance of EVAs and other storage arrays has not been quantified but should, nevertheless, be taken into consideration when you look at performance that fails to meet expectations.
With advances in disk and tape drives, backups can run fast enough to consume substantial CPU, especially when creating save sets. This load can be considerable if multiple backups are run simultaneously on the same machine. Under certain circumstances, tests with 8 parallel backup processes can saturate a 4-CPU machine.
You can gain some performance improvements with the current design of OpenVMS BACKUP by adjusting system and process parameters. This is not, however, a simple, straightforward task, and you can expect a performance improvement of, typically, less than 15%. Changing system and process parameters can also result in worse performance. Disks with different file fragmentation and file sizes might require different process quotas to save these files efficiently.
Software tuning parameters are only for save operations; they have no impact on restore performance.
Qualifiers That Can Affect Performance
The qualifiers listed in BACKUP Qualifiers That Affect Performance can influence BACKUP performance.
Disk Settings That Affect BACKUP Performance
The disk settings in Disk Settings That Affect BACKUP Performance can influence BACKUP performance when writing a save set to disk.
WSQUOTA is the most sensitive parameter to influence the save performance of BACKUP. While tuning,, set a high value for WSQUOTA (set it to WSMAX) for the account running the backups. To change WSQUOTA, use the DCL command SET WORKING_SET command before the BACKUP command line. This is a more convenient way to change WSQUOTA than to change the quota using the AUTHORIZE utility.
WSQUOTA and /BLOCKSIZE, together, create the in-memory buffers at the start of a save operation. Refer to the output of /LIST for the actual number of buffers used. Although you might assume that more buffers are better, keep in mind that BACKUP scans the input disk for files to be saved and maps these files to the available buffer space. The more buffers you have, the longer this operation takes. At the same time, the output tape drive or disk drive is idle. The fewer buffers created (by using smaller WSQUOTA values) tends to result in better overlap of input and output I/Os and, hence, better performance, especially when the save set is written to a tape device.
Process Quotas Recommended for Efficient Backups indicates how to set process quotas for efficient backups.
To set process quotas for efficient backups, perform the following actions:
$
SET DEFAULT SYS$SYSTEM
$
RUN AUTHORIZE
UAF>
SHOW SYSTEM
$
RUN SYS$SYSTEM:SYSMAN
SYSMAN>
PARAMETERS SHOW WSMAX
In this case, the value for WSMAX, as shown in the column marked Current, is 100000. Use this value to help set the correct values for the process quotas.
%SYSMAN-I-USEACTNOD, a USE ACTIVE has been defaulted on node DIEM Node DIEM: Parameters in use: ACTIVE Parameter Name Current Default Minimum Maximum Unit Dynamic -------------- ------- ------- ------- ------- ---- ------- WSMAX 100000 4096 1024 134217728 Pagelets
SYSMAN>EXIT
$
Process Quota | Suggested Value |
---|---|
WSQUOTA
|
32768
|
FILLM
|
128
|
DIOLM
|
100
|
WSEXTENT
|
50000
|
PGFLQUOTA
|
100000
|
ASTLM
|
1000
|
BIOLM
|
1000
|
BYTLM
|
100000 |
ENQLM
|
1000
|
The following steps show the commands that you would use to run the Authorize utility and set process quotas for the SYSTEM account (if you plan to run backups from a different account, determine the process quotas for that account):
In this example, SYSTEM has the following quotas:$
SET DEFAULT SYS$SYSTEM
$
RUN AUTHORIZE
UAF>
SHOW SYSTEM
Username: SYSTEM Owner: SYSTEM MANAGER Account: SYSTEM UIC: [1,4] ([SYSTEM]) CLI: DCL Tables: DCLTABLES Default: SYS$SYSROOT:[SYSMGR] . . . Maxjobs: 0 Fillm: 40 Bytlm: 32768 Maxacctjobs: 0 Shrfillm: 0 Pbytlm: 0 Maxdetach: 0 BIOlm: 18 JTquota: 1024 Prclm: 10 DIOlm: 18 WSdef: 256 Prio: 4 ASTlm: 24 WSquo: 512 Queprio: 0 TQElm: 20 WSextent: 2048 CPU: (none) Enqlm: 200 Pgflquo: 20480 . . . UAF>
EXIT
%UAF-I-NOMODS, no modifications made to system authorization file %UAF-I-NAFNOMODS, no modifications made to network authorization file %UAF-I-RDBNOMODS, no modifications made to rights database $
WSQUOTA
|
512
|
WSEXTENT
|
2048
|
PGFLQUOTA
|
20480
|
FILLM
|
40
|
DIOLM
|
18
|
ASTLM
|
24
|
BIOLM
|
18
|
BYTLM
|
32768
|
ENQLM
|
200
|
In this case, the value for WSMAX, as shown in the column marked Current, is 100000.$
RUN SYS$SYSTEM:SYSMAN
SYSMAN>
PARAMETERS SHOW WSMAX
%SYSMAN-I-USEACTNOD, a USE ACTIVE has been defaulted on node DIEM Node DIEM: Parameters in use: ACTIVE Parameter Name Current Default Minimum Maximum Unit Dynamic -------------- ------- ------- ------- ------- ---- ------- WSMAX 100000 4096 1024 134217728 Pagelets SYSMAN>
EXIT
$
$
SET DEFAULT SYS$SYSTEM
$
RUN AUTHORIZE
UAF>
MODIFY SYSTEM/WSQUOTA=32768
UAF>
MODIFY SYSTEM/FILLM=128
UAF>
MODIFY SYSTEM/DIOLM=100
UAF>
MODIFY SYSTEM/WSEXTENT=100000
UAF>
MODIFY SYSTEM/PGFLQUOTA=200000
UAF>
MODIFY SYSTEM/ASTLM=
1000UAF>
MODIFY SYSTEM/BIOLM=1000
UAF>
MODIFY SYSTEM/BYTLM=100000
UAF>
MODIFY SYSTEM/ENQLM=1000
UAF>
EXIT
|
|