NetBackup™ Backup Planning and Performance Tuning Guide
- NetBackup capacity planning
- Primary server configuration guidelines
- Media server configuration guidelines
- NetBackup hardware design and tuning considerations
- About NetBackup Media Server Deduplication (MSDP)
- MSDP tuning considerations
- MSDP sizing considerations
- Accelerator performance considerations
- Media configuration guidelines
- How to identify performance bottlenecks
- Best practices
- Best practices: NetBackup AdvancedDisk
- Best practices: NetBackup tape drive cleaning
- Best practices: Universal shares
- NetBackup for VMware sizing and best practices
- Best practices: Storage lifecycle policies (SLPs)
- Measuring Performance
- Table of NetBackup All Log Entries report
- Evaluating system components
- Tuning the NetBackup data transfer path
- NetBackup network performance in the data transfer path
- NetBackup server performance in the data transfer path
- About shared memory (number and size of data buffers)
- About the communication between NetBackup client and media server
- Effect of fragment size on NetBackup restores
- Other NetBackup restore performance issues
- About shared memory (number and size of data buffers)
- Tuning other NetBackup components
- How to improve NetBackup resource allocation
- How to improve FlashBackup performance
- Tuning disk I/O performance
Roles of processes during backup and restore
When a process attempts to use a shared data buffer, it first verifies that the next buffer is ready. A data producer needs an empty buffer, while a data consumer needs a full buffer.
The following table uses log directory names to represent the NetBackup processes.
Table: Roles of data producer and consumer
If the data consumer lacks a full buffer, it increments the wait and delay counters to indicate that it had to wait for a full buffer. After a delay, the data consumer checks again for a full buffer. If a full buffer is still not available, the data consumer increments the delay counter to indicate that it had to delay again. The data consumer repeats the delay and full buffer check steps until a full buffer is available.
This sequence is summarized in the following algorithm:
while (Buffer_IS_Not_Full) { ++Wait_Counter; while (Buffer_Is_Not_Full) { ++Delay_Counter; delay (DELAY_DURATION); } }
If the data producer lacks an empty buffer, it increments the wait and delay counter to indicate that it had to wait for an empty buffer. After a delay, the data producer checks again for an empty buffer. If an empty buffer is still not available, the data producer increments the delay counter to indicate that it had to delay again. The data producer repeats the delay and empty buffer check steps until an empty buffer is available.
The algorithm for a data producer has a similar structure:
while (Buffer_Is_Not_Empty) { ++Wait_Counter; while (Buffer_Is_Not_Empty) { ++Delay_Counter; delay (DELAY_DURATION); } }
Analysis of the wait and delay counter values indicates whether the producer or the consumer process had to wait most often and for how long.
Four wait and delay counter relationships exist, as follows:
Table: Relationships between wait and delay counters
Relationship | Description |
---|---|
The data producer has substantially larger wait and delay counter values than the data consumer. The data consumer is unable to process the received data fast enough to keep the data producer busy. Investigate a means to improve the performance of the data consumer. For a backup, check if the data buffer size is appropriate for the tape or the disk drive being used. If the data consumer still has a substantially large value in this case, try increasing the number of shared data buffers to improve performance. | |
Data Producer = Data Consumer (large value) | The data producer and the data consumer have very similar wait and delay counter values, but those values are relatively large. This situation may indicate that the data producer and data consumer regularly attempt to use the same shared data buffer. Try increasing the number of shared data buffers to improve performance. |
Data Producer = Data Consumer (small value) | The data producer and the data consumer have very similar wait and delay counter values, but those values are relatively small. This situation indicates that there is a good balance between the data producer and data consumer. It should yield good performance from the NetBackup server component of the NetBackup data transfer path. |
Data Producer << Data Consumer | The data producer has substantially smaller wait and delay counter values than the data consumer. The data producer is unable to deliver data fast enough to keep the data consumer busy. Investigate ways to improve the performance of the data producer. For a restore operation, check if the data buffer size is appropriate for the tape or the disk drive. If the data producer still has a relatively large value in this case, try increasing the number of shared data buffers to improve performance. |
Of primary concern is the relationship and the size of the values. Information on determining substantial versus trivial values appears on the following pages. The relationship of these values only provides a starting point in the analysis. Additional investigative work may be needed to positively identify the cause of a bottleneck within the NetBackup data transfer path.