Prepare your production environment for replication
- Last Updated: January 17, 2024
- 4 minute read
- OpenEdge
- Version 12.8
- Documentation
- 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.
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
Activity Displays Menu 1. Summary 2. Servers 3. Buffer Cache 4. Page Writers 5. BI Log- Gather metrics on the Total BI writes per second:
Activity: BI LogTotalPer MinPer SecPer TxTotal BI writes151906150.100.70 - 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/secOpenEdge Replication sends approximately 3.5 MB/sec of data to the target database during peak activity.
- 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- 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
- Consider the following example, where:
AIDis 89MB.- Sample length is 60 minutes.
PRDis 1.
89MB x 1.5 = 133.5MB 133.5MB x 1.1 = 146.85MB 146.85MB x 1 = 146.85MBIn this case, you would send approximately 146.85 megabytes of data to the target database per hour.
- In the example that follows:
AIDis 360 MB.- Sample length is 24 hours.
PRDis /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.