1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml">
4  <head>
5    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
6    <title>Bulk Transfers</title>
7    <link rel="stylesheet" href="gettingStarted.css" type="text/css" />
8    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
9    <link rel="start" href="index.html" title="Getting Started with Replicated Berkeley DB Applications" />
10    <link rel="up" href="addfeatures.html" title="Chapter 5. Additional Features" />
11    <link rel="prev" href="c2ctransfer.html" title="Client to Client Transfer" />
12  </head>
13  <body>
14    <div class="navheader">
15      <table width="100%" summary="Navigation header">
16        <tr>
17          <th colspan="3" align="center">Bulk Transfers</th>
18        </tr>
19        <tr>
20          <td width="20%" align="left"><a accesskey="p" href="c2ctransfer.html">Prev</a> </td>
21          <th width="60%" align="center">Chapter 5. Additional Features</th>
22          <td width="20%" align="right"> </td>
23        </tr>
24      </table>
25      <hr />
26    </div>
27    <div class="sect1" lang="en" xml:lang="en">
28      <div class="titlepage">
29        <div>
30          <div>
31            <h2 class="title" style="clear: both"><a id="bulk"></a>Bulk Transfers</h2>
32          </div>
33        </div>
34      </div>
35      <p>
36                    By default, messages are sent from the master to replicas as they are generated.
37                    This can degrade replication performance because the various participating
38                    environments must handle a fair amount of network I/O activity.
39            </p>
40      <p>
41                    You can alleviate this problem by configuring your master environment for bulk
42                    transfers. Bulk transfers simply cause replication messages to accumulate in a
43                    buffer until a triggering event occurs. When this event occurs, the entire
44                    contents of the buffer is sent to the replica, thereby eliminating excessive
45                    network I/O.
46            </p>
47      <p>
48                    Note that if you are using replica to replica transfers, then you might want any
49                    replica that can service replication requests to also be configured for bulk
50                    transfers.
51            </p>
52      <p>
53                    The events that result in a bulk transfer of replication messages to a replica
54                    will differ depending on if the transmitting environment is a master or a
55                    replica.
56            </p>
57      <p>
58                    If the servicing environment is a master environment, then bulk transfer
59                    occurs when:
60            </p>
61      <div class="orderedlist">
62        <ol type="1">
63          <li>
64            <p>
65                                    Bulk transfers are configured for the master environment, and
66                            </p>
67          </li>
68          <li>
69            <p>
70                                    the message buffer is full or
71                            </p>
72          </li>
73          <li>
74            <p>
75                                    a permanent record (for example, a transaction commit or a
76                                    checkpoint record) is placed in the buffer for the replica.
77                            </p>
78          </li>
79        </ol>
80      </div>
81      <p>
82                    If the servicing environment is a replica environment (that is, replica to replica
83                    transfers are in use), then a bulk transfer occurs when:
84            </p>
85      <div class="orderedlist">
86        <ol type="1">
87          <li>
88            <p>
89                                    Bulk transfers are configured for the transmitting replica, and
90                            </p>
91          </li>
92          <li>
93            <p>
94                                 the message buffer is full or
95                            </p>
96          </li>
97          <li>
98            <p>
99                                    the replica servicing the request is able to completely satisfy
100                                    the request with the contents of the message buffer. 
101                            </p>
102          </li>
103        </ol>
104      </div>
105      <p>
106                    To configure bulk transfers, specify
107
108                    <span>
109                        <code class="literal">DB_REP_CONF_BULK</code> to
110                            <code class="methodname">DB_ENV-&gt;rep_set_config()</code>
111                            
112                        and then specify <code class="literal">1</code> to the <code class="literal">onoff</code>
113                        parameter. (Specify <code class="literal">0</code> to turn the feature off.)
114                    </span>
115                    
116            </p>
117    </div>
118    <div class="navfooter">
119      <hr />
120      <table width="100%" summary="Navigation footer">
121        <tr>
122          <td width="40%" align="left"><a accesskey="p" href="c2ctransfer.html">Prev</a> </td>
123          <td width="20%" align="center">
124            <a accesskey="u" href="addfeatures.html">Up</a>
125          </td>
126          <td width="40%" align="right"> </td>
127        </tr>
128        <tr>
129          <td width="40%" align="left" valign="top">Client to Client Transfer </td>
130          <td width="20%" align="center">
131            <a accesskey="h" href="index.html">Home</a>
132          </td>
133          <td width="40%" align="right" valign="top"> </td>
134        </tr>
135      </table>
136    </div>
137  </body>
138</html>
139