You are on page 1of 10

Determining Fathom Replication

Network Bandwidth
A How-to Guide by the
Progress Data Management Group

Introduction ..................................................................................................................................................................... 3
Overview .......................................................................................................................................................................... 3
How Fathom Replication Works................................................................................................................................. 4
Calculating After-image Volume.................................................................................................................................... 5
1.
2.
3.
4.

Determining After-image Volume via After-image VST Information................................................. 5


Determine After-image Volume via rfutil Command ...................................................................... 5
Determining After-image Volume via Promon ................................................................................. 6
Determining After-image Volume via before-image VST Information .............................................. 6

Replication Volume within After-image Sub-system ................................................................................................... 7


Overall Replication Volume............................................................................................................................................ 7
Summary.......................................................................................................................................................................... 8
Formula............................................................................................................................................................................ 8
Examples ......................................................................................................................................................................... 9
Example One .................................................................................................................................................. 9
Example Two .................................................................................................................................................. 9

Additional Notes............................................................................................................................................................ 10
Additional Network Overhead........................................................................................................................ 10
Network Bandwidth ....................................................................................................................................... 10

References..................................................................................................................................................................... 10

Introduction
The best way to measure network bandwidth requirements is to run Fathom Replication in a controlled
test environment reflecting the true demands of your application and database. In this environment you can
use a network monitoring tool to capture exact amounts of network bandwidth used by Fathom Replication.
If this is not possible (which is usually the case), you may need to estimate the network requirements using
the guidelines described in this white paper.
This document is not intended to provide a fail safe formula providing every user with the exact amount of
network bandwidth used by Fathom Replication on their network. It is solely intended to provide enough of
an overview of the technology for new users to make an educated guess on the amount of network
bandwidth needed for the implementation of Fathom Replication.

Overview
Fathom Replication bandwidth calculations rely on many different factors. The amount of after-imaging
volume and after-image performance tuning changes are just parts of the pieces of the puzzle that go into
determining the amount of bandwidth that will be needed. On average, the amount of bandwidth needed is
50 - 65 percent greater than the amount after-image activity that is being created.

How Fathom Replication Works


Fathom Replication plugs into the after-image sub-system, taking copies of after-image blocks to use for
replication to a target database. The Fathom Replication server sends those after-image blocks gathered on
the source database to the target database(s) and Fathom Replication agents over a TCP/IP network
connection.

Source
Database

Target
Database
AI Extents
Database
Broker
Servers
Writers

Database
Broker
Servers
Writers

Replication
Server

Replication
Agent

Figure 1: Representation of Fathom Replication Architecture

Calculating After-image Volume


There are several ways to determine the amount of after-image information that you are currently
consuming. Below we have highlighted four ways to calculate this volume.
None of these methods take into account spikes in after-image activity. To determine the highest volume at
any one time requires you to sample at small enough intervals (maybe 1 minute) for several days or over a
month to arrive at an average usage per month. You would then take the maximum value. If your network
is close to capacity the difference between your average load and your maximum load may be enough to
saturate your network causing additional network problems.
For additional details concerning Progress RDBMS after-imaging, please refer to the Progress Version 9
documentation entitled Progress Database Administration Guide and Reference published in May 2000.

1. Determining After-image Volume via After-image VST Information


Virtual System Tables (VSTs) can be used to determine how many after-image blocks have been written.
The VST table to use for this is _ActAILog. The fields with the appropriate information are called _AiLogTotWrites and _AiLog-BytesWritn. The _AiLog-TotWrites field is in the form of after-image blocks. Refer
to your after-image block size to find how much data is involved. Take samples at the start of the time
period and at the end of the time period. The difference between these fields results in the count of afterimage blocks that have been written.
This method is preferable as it is more flexible, easier to maintain, and less intrusive on database
performance.

2. Determine After-image Volume via rfutil Command


To determine the volume from the command line you must run the rfutil <db-name> -C aimage extent list
command at the start and end of your desired time frame. After-image extent size is shown in 1K blocks.
Subtract the end value from the start value to determine how many blocks have been written. Use this value
to calculate the after-image generation rate per period depending on the network rate desired. It is important
to note that emptying the after-image extents negates this method as it changes the after-image block counts
within the extent to zero.

3. Determining After-image Volume via Promon


To determine volume, start PROMON for the database that is to become the Source database using the
PROMON command. Once PROMON is running, select option R&D Research and Development Menu.
You must change the sampling interval to 1 hour (3600 seconds). To do this select option 5 (Adjust
Monitoring Options) and then select option 3 (Monitor sampling interval). Set the value to 3600. Press
return once (returns you to the main menu) and then select option 2 Activity Displays, then select option 6
after-image Log. The Activity: after-image Log screen is then displayed.

04/07/04
10:38:13

Activity: after-image Log


04/07/04 10:32 to 04/07/04 10:38 (5 min 16 sec)
Total

Total after-image writes


4121
after-image Writer writes
0
Records written
272040
Bytes written
33906016
Busy buffer waits
0
Buffer not avail
2271
Partial writes
1841
Log force waits
0

Per Min
782
0
51653
6437851
0
431
350
0

Per Sec

Per Tx

13.04
0.00
860.89
107297.52
0.00
7.19
5.83
0.00

0.31
0.00
20.68
2577.82
0.00
0.17
0.14
0.00

Notice the highlighted elapsed time on the second line of the printed screen above. Choose the s option at
the bottom of the screen by typing s. This will gather a sample for 60 minutes. When this is complete,
this time should show 60 minutes.
The numbers shown on the rest of the screen are running totals for that elapsed time. Record the number
from the total after-image writes row in the Total column. This is the total number of after-image blocks
written in one hour. You may repeat this process to gather additional samples. Calculating a realistic
average number of blocks written in 1 hour requires several samples. The more samples gathered the more
accurate the average is. Now divide the average number of blocks generated in one hour by after-image
block size. This can be found from the main menu of R&D by selecting option 1 (Status Displays) and then
option 10 (after-image Log). The after-image block size is the second to last entry. Take this number and
divide it by 1024 to arrive at the block size (8192 / 1024 = 8). Multiply the value that you got activity menu
by this value. The result is the number of 1K after-image blocks written during a typical hour period.

4. Determining After-image Volume via before-image VST Information


Before-image VSTs may also be used to determine approximately how many after-image blocks will be
written. The VST table used for this is _ActBILog. The fields with the appropriate information are _BiLogTotWrites and _BiLog-BytesWritn. _BiLog-TotWrites is in the form of before-image blocks. Refer to your
before-image block size to see how much data is involved. You must also take into account that the beforeimage block size must be the same as your after-image block size. Take samples at the start of the time
period and at the end of the time period. The difference between these sample results is the count of afterimage blocks that that would have been written.
This method is the only choice if you do not have after-imaging enabled against the database.

Replication Volume within After-image Sub-system


The amount of additional overhead that Fathom Replication has on after-image must also be taken into
account. When Fathom Replication is enabled against a database additional notes are written to the beforeimage file and after-image file to handle replication operations. The amount of additional after-image notes
can be up to 50 percent more. This value is what should be used to calculate the amount of Fathom
Replication data that will need to be transferred to the target system.
The additional notes are due to replication adding additional information to cover logical transaction
operations needed on the target database to correctly limit read-only clients from accessing records that are
being created, updated, or deleted by the replication agent.
The increase of 50 percent is related to transaction size and data set size. If the data set (the size of the data
being updated) is small the overhead of replication notes will be greater.

Overall Replication Volume


There is additional replication overhead that is required to transfer the after-image blocks over the wire to
the target system. This is estimated at 10 percent additional overhead. This information is made up of
header and control information for replication.
Items that are included in this calculation include, but are not limited to:

Packaging of blocks - adding replication


The database default after-image block size of 8K. Changing the after-image block size to 16K
would lower this percentage to 5 percent.
Standard communication between the FR agent and the FR server.

Summary
Calculating Fathom Replications effect on the network involves many different aspects. After-image data
is the largest part of determining what bandwidth will be 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. It can be estimated if you know the average amount of after-image volume on your
system. The formulas documented here will help you calculate the values for capacity planning.

Formula

AID AIRM = AIDR


AIDR AIRO = AIDRO
AIDRO ( PRD) = AIDROP
WHERE
AID = After-image blocks
AIRM = 1.5 (Multiplier for additional after-image notes due to replication)
AIDR = After-image blocks with replication
AIRO = 1.1 (Multiplier for replication overhead)
AIDROP = After-image blocks with replication and overhead
PRD = period desired.
If samples are 60 minutes and per hour values are desired then this would be 1
If samples are 60 minutes and per minute values are desired then this would be 1/ 60
If samples are 1 hour and per day values are desired then this would be 24
If samples are 1 minute and per hour values are desired then this would be 60
If samples are 24 hours and per hour values are desired then this would be 1/24
If samples are 24 hours and per minute values are desired then this would be 1/1440
(24*60)

Examples
Example One
AID = 89 Mb
Sample Length = 60 minutes
PRD = 1

89mb 1.5 = 133.5mb


133.5mb 1.1 = 146.85mb
146.85mb 1 = 146.85mb
This customer would send approximately 146.85 megabytes of data to the target database per hour.

Example Two
AID = 360 Mb
Sample Length = 24 hours
PRD = /1440

360mb 1.5 = 540mb(566,231,040bytes)


540mb 1.1 = 594mb(622,854,144bytes)
594mb / 1440 = 422kb(432,537)
This customer would send approximately 422 kilobytes of data to the target database per minute.

Additional Notes
Additional Network Overhead
TCP/IP default packet sizes are typically 1564 bytes. 64 bytes of this information is TCP and IP header
information (approximately 4%). This additional amount may need to be added to the final calculation for
more accurate representation of network usage.

Network Bandwidth
Determining network bandwidth is hard to do. A T1 line provides approximately 1.544 megabits per second
of throughput. This is the theoretical limit but typically due to routers, hubs, and switches it is somewhat
less than this.

References
Unix Network Programming, Prentice Hall Software Series, By W. Richard Stevens,
Copyright 1990 ISBN 0-13-949876
http://www.stallion.com/html/support/glossary.html#T Definition of T1
http://www.strategicwebventures.com/definitions/Glossary/T1

Corporate Headquarters
Progress Software Corporation, 14 Oak Park, Bedford, MA 01730 USA Tel: 781 280 4000 Fax: 781 280 4095
Europe/Middle East/Africa Headquarters
Progress Software Europe B.V. Schorpioenstraat 67 3067 GG Rotterdam, The Netherlands Tel: 31 10 286 5700 Fax: 31 10
286 5777
Latin American Headquarters
Progress Software Corporation, 2255 Glades Road, One Boca Place, Suite 300 E, Boca Raton, FL 33431 USA Tel: 561 998
2244 Fax: 561 998 1573
Asia/Pacific Headquarters
Progress Software Pty. Ltd., Level 2, 25 Ryde Road, Pymble, NSW 2073 Australia Tel: 61 2 9496 8439 Fax: 61 2 9498 7498
Progress and Fathom are registered trademarks of Progress Software Corporation. All other trademarks, marked and not
marked, are the property of their respective owners.

www.progress.com
Specifications subject to change without notice.
2003 Progress Software Corporation.
All rights reserved.

10

You might also like