DRX requires sufficient free physical memory for DRX's buffering capability when installed locally in an operating machine environment. If you do not have enough free physical memory space, you should also consider adding physical memory on your production machine.
Also, if you use the compression feature to accelerate replication, you should be aware that compression can cause CPU load on the operating node. Compression can be used locally if local I / O is not heavily burdened and compression of the operating node is insignificant. However, if compression loads affect performance across the local system, you should rethink the use of compression. Compressed loads can result in an additional load of approximately 20 ~ 30% on the local I/O load. If the DRX that performs the compression is configured as a dedicated machine and separated from the operating environment, it is possible to distribute the load depending on the compression. These DRX operational policies should be based on preliminary data on the local I / O load and should be determined by preliminary investigation of the following items in the configuration environment
Windows 2008 or later, Linux CentOS 6.4 or later 64-bit platforms are supported.
You can configure it to any size as long as memory resources allow and limit it to up to 100 channels of replication resources.
Use the following procedure to measure the I/O load on the server.
Replication bandwidth requires at least 10 Mbps to 100 Mbps bandwidth.
Determine how you will configure your operating environment based on I/O load and whether compression is enabled. the local configuration is common, but If the replication load is large and WAN section acceleration is required, a dedicated configuration is recommended.
case | buffer | remarks | |
---|---|---|---|
1 | average I/O < maximum I/O < network bandwidth | Recommended buffer size: 1 GByte or more | Ex) 1Gbps bandwidth, 1G Buffer = Up to 100MB/s I/O can be maintained for about 10 seconds |
2 | average I/O < network bandwidth < maximum I/O | (Maximum I/O - bandwidth) * Maximum I/O duration | Ex) Average 50MB/s I/O, 100Mbps bandwidth, up to 200MB/s maximum I/O lasts for 10 seconds (200MB/s - about 10MB/s) * 10 seconds = about 2GB |
3 | network bandwidth < average I/O < maximum I/O | Consider the need for network bandwidth expansion and compression. |
The DRX's buffer should be set to an appropriate size to accommodate the I/O load values of the pre-investigated operating nodes. If the I/O data based on the preliminary investigation can not be obtained, it is necessary to perform the tuning process on the buffer size after the configuration and trial operation according to the recommended buffer specification based on the case 1.
If the I/O load on the operating node is too large and the maximum I/O duration occurs over a long period of time (several minutes to several tens of minutes), DRX buffering can be difficult to handle. In this case, you should consider data compression.
2.3.1 Congestion policy
The congestion state means that buffering is impossible because there is no free space in the DRX buffer because the replication load is increased. In this case, DRX does not perform any special action and concentrates on remotely transmitting the replicated data in the buffer. The response to the congestion state is left to the congestion policy of DRBD.
The congestion policy is the corresponding policy in DRBD when the DRX's buffer enters the congestion state. Here's how to set up a congestion policy.
resource r0 { proxy { memlimit 1G: # DRX 버퍼 } net { on-congestion pull-ahead; # Congestion policy setting (Ahead mode) congestion-fill 950M; # Set congestion awareness point (when 950Mbyte data is buffered is congestion point) } } |
The congestion policy of DRBD is as follows. It is recommended to set Ahead mode for WAN interval asynchronous replication operation.
DRX's physical memory specifications are variable based on number of resources, maximum I/O, and network bandwidth. The following is a formula for DRX's physical memory specification when the maximum I/O is greater than the bandwidth.
If the maximum I/O is always lower than the bandwidth, the physical memory specification is determined by calculating the per-resource buffer size as 1 GB.
The following is an example of determining the physical memory specification assuming a WAN 100 Mbps bandwidth, a maximum I/O of 200 MB/s, and a maximum I/O duration of 10 seconds. In this example, the required memory for one replication resource operation is 2.1 GB (4 GB recommended) and enters the congestion state when the maximum I / O lasts more than 10 seconds.
resource count | DRX default memory | BAB size | compression / encryption buffer | Memory Requirements | Recommended operating server memory |
---|---|---|---|---|---|
1 | 100MB | 1 * (200MB-10MB) * 10sec = 1.9GB | 1 * about 100MB | 2 .1GB | 4GB or more |
5 | 100MB | 5 * (200MB-10MB) * 10sec = 9.5GB | 5 * about 100MB | 10.1GB | 16GB or more |
10 | 100MB | 10 * (200MB-10MB) * 10sec = 19GB | 10 * about 100MB | 20.1GB | 32GB or more |
20 | 100MB | 20 * (200MB-10MB) * 10sec = 38GB | 20 * about 100MB | 40.1GB | 64GB or more |
50 | 100MB | 50 * (200MB-10MB) * 10sec = 95GB | 50 * about 100MB | 100.1GB | 128GB or more |
100 | 100MB | 100 * (200MB-10MB) * 10sec = 190GB | 100 * about 100MB | 200.1GB | 256GB or more |
WAN bandwidth is virtually variable. Since the WAN bandwidth generally has variable bandwidth characteristics that vary widely depending on the network conditions, not the guaranteed bandwidth, it is generally considered that the WAN bandwidth is estimated to be 1 to 10 Mb/s, It is appropriate. Also, it is not recommended to consider disabling of DRX buffering because the maximum I/O measured within a period of time is lower than the replication bandwidth. Depending on the characteristics of the application in the operating environment, there may be a situation in which the maximum I/O surges at an unspecified point. Therefore, it is preferable to allocate free space in the DRX buffer for this situation.