An Enhancement was made to the PROBKUP online routine in Progress 9.1E01 and OpenEdge 10.0B02, to improve overall performance while the backup is running.
- Prior to this change, blocks already in the Buffer Pool at the time of an online PROBKUP are never moved to the Least Recently Used (LRU) end when the block version is updated and included in the backup volume.
- With this change, if a buffer (to be backed up) already exists in the buffer pool at the LRU end, it is no longer moved from it's current position in the (LRU) chain to the MRU (Most Recently Used) end and the backup puts the read block at the bottom of the LRU chain
In addition an enhancement was also added to the PROBKUP online routine, which allows an online backup to make use of (-Bp) Private Read-Only Buffers. This enhancement is in addition to the performance improvement mentioned above. In effect, rather than always holding all the buffers needed at the LRU end of the chain of buffers in the buffer pool, by using -Bp the PROBKUP online routine will also use its own Private Buffer list when needed.
When PROBKUP does not use Private Buffers -Bp, user's connections needing a new buffer have to "jump" over those buffers held by the backup process. Once the online PROBKUP routine has completed, buffers will be evicted from the LRU chain or promoted to the MRU (Most Recently Used) chain as appropriate. It is therefore highly recommended to use (-Bp) Private Buffers with an online PROBKUP to avoid performance problems immediately after an online PROBKUP has completed.
The suggested value for -Bp is 10 private buffers for the online PROBKUP:
$ PROBKUP online <dbname> <backup_pathANDbackupvolume_name> -Bp 10
If Private Buffers are otherwise used by clients, consider increasing the database startup parameter -Bpmax (64 default). The private buffer pool (-Bp) is an isolated portion of public buffer pool (-B), it is also limited to no more than 25% of the primary buffer pool (-B) value.
Incrementing the -Bp would be a tuning exercise and results are likely to vary greatly due to the dynamic nature of production online databases. It is very unlikely that a value much higher than the suggested value be needed, provided that the current number of database buffers for -B and -B2 are appropriately scoped for the application environment.