Ransomware attackers specifically target and attempt to destroy backup systems to increase the probability of payment. Hardening your system is critical. Please ensure you have reviewed your platform security using the Security Hardening Checklist
Cohesity

COHESITY Documentation

Explore our documentation to get started, discover products & new features, access troubleshooting guides, register sources, platforms support.

Products
Data Security Alliance
Visit Cohesity.com
Demos
Support
Blogs
Developers
Partner Portals
Cohesity Community
© 2026 Cohesity, Inc. All Rights Reserved.
Terms of Use|
Privacy Policy|
Legal|
  1. Home
  2. NetBackup™ Backup Planning and Performance Tuning Guide
  3. Tuning the NetBackup data transfer path
  4. NetBackup server performance in the data transfer path
  5. About the communication between NetBackup client and media server
  6. Roles of processes during backup and restore
NetBackup™ Backup Planning and Performance Tuning Guide

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

Operation

Data producer

(Log directory name)

Data consumer

(Log directory name)

Local backup

bpbkar, bpdb2, dbclient, exten_client, infxbsa, sybackup.

bptm

Remote backup

bptm (child)

bptm (parent)

Local restore

bptm

tar (Linux/UNIX) or tar32 (Windows), bpdb2, dbclient, exten_client, infxbsa, sybackup.

Remote restore

bptm (parent)

bptm (child)

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

Data Producer >> Data Consumer

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.

See Finding wait and delay counter values.

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.

See How to change the number of shared data buffers.

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.

Feedback

Was this page helpful?
Previous

Processes used in NetBackup client-server communication

Next

Finding wait and delay counter values

Feedback

Was this page helpful?