Replication Bandwidth Allocation

This article illustrates how to calculate the bandwidth allocation for a replication.
The replication bandwidth calculation is necessary in order to estimate the network resource use.
This method of calculating the bandwidth is suitable for the "proxy" and "persister" replication.

1 Environment

  • 2 servers;
  • Tomcat 6.0.13;
  • JCR Replication used 'persistent' mode;
  • OS (Linux Ubuntu 8,04, Windows XP SP2).

2 Bytes per operation

String / binary(1MB) property and nt:base node can be used as blocks for custom structures.

Empty Node

N, iterationsINPUT, bytesOUTPUT, bytesTotal, bytesTimeBytes per empty node
100001924932725205734444550613 m 15 s4445,51
500009586312312572772822159085111m 36 s4431,82
10000019151966625090957644242924219 m 5 s4424,29
    Average4433,87

128B String Property
All other types (Boolean, Date, etc.) use as much bytes as a String property.

N, iterationsINPUT, bytesOUTPUT, bytesTotal, bytesTimeBytes per 128B string property
100001960837625604135452125112 m 50 s4521,25
50000986027381293209972279237358 m 45 s4558,47
10000019921914426342721046264635415 m 6 s4626,46
    Average4568,73

1MB Binary Property (delay between iteration is 300 ms)
The 1MB binary property will be used for the calculation of binary properties.

N, iterationsINPUT, bytesOUTPUT, bytesTotal, bytesTimeBytes per 1MB binary property
10018016271116646811134663082 m 25 s1134663,08
50088288165619602265707890427 m 13 s1141578,08
1000225449431302125002132466994514 m 49 s1324669,95
    Average1200303,7

3 Bandwidth Allocation Formula

BABPS= (ENPS * BPEN + 128SPPS * BP128SP + 1MBBPPS * BP1MBBP) * (CP - 1)

BAMBPS= BABPS / (1024 * 1024)?

BAMbPS= BAMBPS * 8


Variables:
BABPS -- bandwidth allocation, bytes per second
BAMBPS -- bandwidth allocation, Mbyte per second
BAMbPS -- bandwidth allocation, Mbit per second

CP -- clusters participants
ENPS -- empty node per second
128SPPS -- 128 length string property per second
1MBBPPS -- 1MB binary property per second

BPEN = 4433,87 -- bytes per empty node
BP128SP = 4568,73 -- bytes per 128 length string property
BP1MBBP = 1200303,7 -- bytes per 1MB binary property

4 Calculation Example

For this example let's suppose we add nodes of the following type: nt:unstructured with 3 properties (2MB binary, 2 string, 1 date).
These nodes will be added at the speed of 2 nodes per second. 2 servers are used for replication.

CP = 2
ENPS = 1
128SPPS = (2 string properties + 1 date property) = 3
1MBBPPS = 2

Bandwidth allocation :
BABPS = (ENPS * BPEN + 128SPPS * BP128SP + 1MBBPPS* BP1MBBP) * (CP - 1) =
(1 * 4433.87 + 3 * 4568.73 + 2 * 1200303.7) * (2 - 1) = 2418747,46 bytes per second
BAMBPS = BABPS / (1024 * 1024) = 2,306 Mbytes per second
BAMbPS = BAMBPS * 8 = 18,453 Mbit per second



Fore more details open http://wiki.exoplatform.com/xwiki/bin/download/JCR/Replication+bandwidth+allocation/ReplicationBandwidthTest.ods

Tags:
Created by Alex Reshetnyak on 09/23/2008
Last modified by Sören Schmidt on 08/13/2009


http://community.test.exoplatform.org

Products

generated on Fri May 18 04:01:51 UTC 2012

eXo Optional Modules

eXo Core Foundations

Recently Modified


Copyright (c) 2000-2010. All Rights Reserved - eXo platform SAS
2.4.30451