For versions earlier than 10.0 when a Progress database is after-image enabled, it is recommended the after-image buffers (-aibufs) database startup parameter to be set to a value of 1.5 times the database tuned value of the Before-image Buffers (-bibufs) parameter.
For versions beginning with 10.0 and later versions when a Progress database is after-image enabled, it is recommended the after-image buffers (-aibufs) database startup parameter to be set equal to the value of the Before-image Buffers (-bibufs) parameter.
As with any optimum performance tuning, this implies an Enterprise database license. With Enterprise Database Licenses:
- The After-Image Writer (AIW) process should also be started in order to assume the task of writing AI buffers from the database Broker process.
- The AI Blocksize must equal the BI blocksize, otherwise any gain from increasing the number of ai buffers is negligible.
- As writes to the AI notes are buffered, Fixed AI extents as opposed to Variable AI extents will further improve the situation (ymmv).
In the case of OpenEdge Replication enabled databases, the need for "AI tuning" is more apparent because there are additional ai notes required by Replication:
- Each record created/updated/deleted is performed within a logical operation.
- A logical operation being a unit of work within a transaction, that ensures that a record and it's index entries are updated as a unit.
- The additional notes needed describe the beginning and end of each logical operation.
- The Replication Agent (RPLA) uses these additional notes to perform low-level record-get locks.
- Record-get locks prevent half updated records from being retrieved by ABL or SQL clients querying the target database.