Consultor Eletrônico



Kbase P42864: Improving AI I/O performance
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   1/11/2006
Status: Verified

GOAL:

Improving AI I/O performance

GOAL:

Improving AI roll-forward performance

FIX:

After-imaging can create a significant amount of I/O that can affect performance.
AI files should be kept on separate disks from the database and BI files, for reasons of recovery security and so that after-imaging I/O activity does not contribute to I/O activity on the disks where BI and database files are stored.

You can reduce the I/O impact of after-imaging by -

- Using an after-image writer (shared-memory systems only)
- Raising the AI block size


Using an After-image Writer (AIW)

The AIW is a background process that writes AI buffers to disk soon after they are filled. If the AIW is working effectively, client and server processes rarely have to wait for a modified buffer to be written to disk.
The AI buffer pool is a circular chain of buffers. The database engine fills these buffers one at a time. The buffer that the engine fills at any time is the current output buffer. As each buffer gets filled, the engine continues around the chain. Each buffer in turn becomes the current output buffer. If the next buffer to write is already modified, the engine must wait while that buffer is written to disk.
You can run only one AIW process per database at a time. You must manually start the AIW, but you can start and stop an AIW at any time without shutting down the database.
Increasing the -aibufs startup parameter increases the number of buffers in the after-image buffer pool, which increases the availability of empty buffers to client and server processes. Progress Software recommends you set the -aibufs parameter to 1.5 times the value of the Before-image Buffers (-bibufs) parameter. Increasing -aibufs has no effect if the AIW is not running.


Increasing AI block size.

As with before-imaging, the database engine reads and writes information to the AI file in blocks. Increasing the size of AI blocks lets the engine read and write more AI data at one time. This can reduce