Feedback
 
Did this article resolve your question/issue?

   

Your feedback is appreciated.

Please tell us how we can make this article more useful. Please provide us a way to contact you, should we need clarification on the feedback provided or if you need further assistance.

Characters Remaining: 1025

 


Article

Basic guide to determine how many APWs are required for a database?

Information

 
Article Number000045471
EnvironmentProduct: OpenEdge
Version: 10.x,11.x
OS: All Supported Operating Systems
Question/Problem Description
How to determine how many Asynchronous Page Writers (APWs) are required for a database?
 
 
Steps to Reproduce
Clarifying Information
Error Message
Defect/Enhancement Number
Cause
Resolution
Using APWs require an Enterprise Database license.
 
A minimum of 1 APW should be used, unless the database has no write activity.
 
At the time of a BI checkpoint, the database buffer pool is scanned for modified buffers and placed onto a queue. Those buffers must be written to the database before the next checkpoint begins.  If they have not all been written then write activity must stall until they have been.  Those writes made at the end of the checkpoint have various names but are all the same thing:
"Buffers Flushed", "Flushes" or DB writes/BI writes, "Database Writes Flushed" at checkpoint.
 
Amongst other things, the APWs job is to scan the queue that was created at checkpoint and write out those modified buffers.  If Buffers Flushed are occurring then the APWs are not keeping up.
 
However, the problem may not be caused by a lack of APWs but could be caused by checkpoints occurring too frequently, caused by a BI Cluster Size that is set too small.
 
First check whether the BI Cluster Size is set appropriately and adjust it if required.  Ideally, checkpoints should occur every 5 minutes or so during normal daily activity. Refer to the following Article on how to check and set the BI Cluster Size: 
Once the BI Cluster Size has been set appropriately and checkpoints are observed every 5 minutes or so (no less than 60 seconds) during normal daily activity, then check Buffers Flushed to determine if you need to add more APWs.  Only add 1 at a time and re-monitor.
 
There are various screens within PROMON that show the "Buffers Flushed" value:
 
PROMON -> 5. Activity    "Buffs Flushed" & "Writes by APW (%)"
PROMON -> R&D -> 2. Activity Displays -> 1. Summary       "Flushed at chkpt" 
PROMON -> R&D -> 2. Activity Displays -> 4. Page Writers  "Flushed at checkpoint"
PROMON -> R&D -> 3. Other Displays   -> 4. Checkpoints.  "Flushes" or DB writes and BI writes
PROMON > R&D > Status: Buffer Cache "Modified buffers"

A value of zero is best, but sometimes when a database starts up there may be a few that occur that are unavoidable.  The goal is to obtain a value that is not increasing.
Workaround
Notes
References to Other Documentation:

OpenEdge Data Management: Database Administration > Maintaining and Monitoring Your Database > Managing Performance > Server performance factors > Database I/O > Using APWs to improve performance
https://docs.progress.com/bundle/manage-database/page/Using-APWs-to-improve-performance.html  

OpenEdge Data Management: Database Administration > Reference > PROMON Utility 
https://docs.progress.com/bundle/manage-database/page/PROMON-Utility.html  
 
Attachment 
Last Modified Date1/24/2020 5:00 PM