Kbase P104423: BIW Explained
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  5/19/2005 |
|
Status: Unverified
GOAL:
BIW Explained
GOAL:
Before Image Writer Explained
GOAL:
Using a Before-image Writer
FIX:
The BIW is a background process that continually writes filled BI buffers to disk. Since writes to the BI file occur in the background, client and server processes rarely have to wait for a filled buffer to be written to disk. BIWs are optional, but highly recommended for improving I/O performance.
The server writes current information to the BI file through the current output buffer. When this buffer fills, the server places the buffer on the filled chain. The server then takes a new buffer from the empty chain and uses it as the current output buffer. If no empty buffers are available, the process must wait while a filled buffer is written to disk.
The BIW writes the filled buffers to disk and places them on the empty chain. By clearing out the filled chain, the BIW ensures that a supply of empty buffers is available to client and server processes.
You can only run one BIW per database. You must manually start the BIW, but you can start and stop the BIW process at any time without shutting down the database. See Chapter 5, "Starting Up and Shutting Down," for instructions on starting and stopping a BIW.
Starting and Stopping a BIW
You can only run one BIW per database. You can start and stop the BIW process at any time without shutting down the database.
To start the BIW process, use Progress Explorer or enter the following command on the local machine:
probiw db-name
The BIW counts as a process connected to a database and uses resources associated with a user. You might have to increase the value of the Number of Users (-n) parameter to allow for the BIW. However, the BIW is not counted as a licensed user.
Stop the BIW by disconnecting the process with the PROSHUT command.
Monitoring BI Activity
Use operating system utilities to monitor the amount of I/O activity on the disk where the BI files reside. Use the PROMON utility to monitor specific BI activity. Use the R&D option BI Log Activity.
Look for the following potential problems:
Busy buffer waits.
Empty buffer waits.
High number of writes per second.
High number of partial writes. A partial write occurs when the database engine must write data to the BI file before the BI buffer is full.
This might happen if:
An APW attempts to write a DB block whose changes are recorded in a BI buffer that has not been written. Because BI notes must be flushed before the AI note is flushed, the APW writes the data in the BI buffer before the buffer is full so it can perform the AI write.
An after-image writer (AIW) runs ahead of the BIW. Because BI notes must be flushed before the AI notes can be written, the AIW writes the BI buffer before it is full so it can perform the AI write.
The Suppress BI File Write (-Mf) parameter's timer expires before the buffer is filled.