After you identify a database that you want to replicate, you must consider some requirements to prepare your production environment for OpenEdge Replication:
  • Is there sufficient AI space?
  • Is there a live communication channel between the Source database and the Target databases?
  • Are there sufficient system resources?
  • Is there sufficient network bandwidth?

Understand OpenEdge Replication after-image requirements

To use OpenEdge Replication, you must activate after-imaging on the source database. Additionally, if you define a Replication Set, you must activate after-imaging on your target databases as well. When you enable after-imaging, the database engine writes notes containing a description of all database changes to the after-image logs. You can use this information generated by after-imaging to recover a database that was damaged when a failure caused the loss of either the database itself or its primary recovery (before-image) area.

Before you start using OpenEdge Replication, it is recommended that you calculate how much after-image volume, on average, your database currently generates. You can then use this average to estimate the network bandwidth that establishing replication for the database will require. After-image data plays the largest part in determining how much bandwidth you need.

Although you cannot calculate exact data volume, since it is dependent on the type of transactions within the application and how much activity is going on against the database, you can arrive at an estimate if you know the average amount of after-image volume on your system.

For more general information about database after-imaging, see Manage the OpenEdge Database.

Calculate fixed after-image extent size

To estimate how much AI space is required, you must first calculate the database’s current AI volume. There are three methods to determine how much AI data your database is generating—you can use AI virtual system tables (VSTs), the RFUTIL command, or the PROMON command. In this guide, you learn how to use the PROMON command. To learn about the other two methods, refer to the Progress Use Database Replication.

In practice, you would not want to collect just one sample. You would want multiple samples over several days and then calculate the average to get a more accurate estimate of AI volume.
Note: None of the methods to calculate AI data volume considers spikes in AI activity.
Note: If your production database is not AI-enabled, then you can use before-image (BI) VSTs to gather the required data. However, to implement replication, you must enable AI on your production database.

Assume that the before-image block size is the same as the after-image block size. Before-image writes can be used to determine approximately how many after-image blocks will be written. To understand the network bandwidth requirements for each Replication Environment during peaks of high activity, the maximum network bandwidth can be estimated with the following formula:

Replication_Bandwidth = 1.5 * BI (writes per second at peak time) * (BI block size) = number of bytes / per second

To find this information use the following procedure:
  1. PROMON > R&D > 2 (Activity Displays) > 5 (BI Log):
    Activity Displays Menu
    1. Summary
    2. Servers
    3. Buffer Cache
    4. Page Writers
    5. BI Log 
  2. Gather metrics on the Total BI writes per second:
    Activity: BI Log
    Total Per Min Per Sec Per Tx
    Total BI writes 151 906 150.10 0.70
  3. Calculate the Replication Bandwidth:

    Assuming the BI block size is 16 KBytes

    Replication_Bandwidth = 1.5 * 150.10 writes/sec * 16 KBytes/write = 3,602.4 KBytes/sec

    OpenEdge Replication sends approximately 3.5 MB/sec of data to the target database during peak activity.

  4. To calculate the communications bandwidth requirement you need to convert to bits/second, for example:

    3,602.4 KBytes/sec * 8 bits/Byte = 28,819.2 Kbits/sec = 28.14 Mbits/sec or 28.14 Mbps

Determine OpenEdge Replication network bandwidth

There is additional replication overhead that is required to transfer the after-image blocks over the network to the target system. This additional overhead is estimated at ten percent over the amount of the message volume sent between the server and agent and consists of header and control information for replication.

Items in this calculation include, but are not limited to:

  • Packaging of blocks. Replication adds overhead to each AI block.
  • The database default after-image block size of 8K. Changing the after-image block size to 16K means fewer messages are sent, which lowers the network activity by approximately five percent.
  • Standard communication between the OpenEdge Replication agent and the OpenEdge Replication server.

Determining network bandwidth can be difficult. Consider that a T1 line provides approximately 1.544 megabits per second of throughput. This value represents the theoretical limit; however, the value is typically somewhat less than this due to routers, hubs, and switches.

The presence of after-image data is the most significant determinant in how much bandwidth is needed. Exact data volume cannot be accurately calculated, as it depends on the type of transactions within the application and how much activity is going on against the database. However, it can be estimated if you know the average amount of after-image volume on your system. Use the following formula to help you calculate the values for capacity planning:

AID x AIRM = AIDR
AIDR x AIRO = AIDRO
AIDRO X (PRD) = AIDROP
AID
The total size of all the after-image blocks.
AIRM
The value 1.5; the multiplier for additional after-image notes due to OpenEdge Replication.
AIDR
The number of after-image blocks with OpenEdge Replication.
AIRO
The value 1.1; the multiplier for OpenEdge Replication overhead.
AIDROP
The number of after-image blocks with OpenEdge Replication and overhead.
(PRD)

The period of time, as follows:

  • 1, if samples are 60 minutes and you want per-hour values
  • 1/60, if samples are 60 minutes and you want per-minute values
  • 24, if samples are 1 hour and you want per-day values
  • 60, if samples are 1 minute and you want per-hour values
  • 1/24, if samples are 24 hours and you want per-hour values
  • 1/1440 (which is 24 * 60), if samples are 24 hours and you want per-minute values
Example
  • Consider the following example, where:
    • AID is 89MB.
    • Sample length is 60 minutes.
    • PRD is 1.
    89MB x 1.5 = 133.5MB
    133.5MB x 1.1 = 146.85MB
    146.85MB x 1 = 146.85MB

    In this case, you would send approximately 146.85 megabytes of data to the target database per hour.

  • In the example that follows:
    • AID is 360 MB.
    • Sample length is 24 hours.
    • PRD is /1440.
    360MB x 1.5 = 540MB (566, 231, 040 bytes)
    5540MB X 1.1 = 594MB (622, 854, 144 bytes)
    594MB/1440 = 422 KB (432, 537)

    In this example you would send approximately 422 kilobytes of data to the target database per minute.