<a id="intelligent-replication-configure"></a>

# Configure Intelligent Replication in Confluent Private Cloud

This topic describes the configuration options available for tuning
Intelligent Replication performance in Confluent Private Cloud.

## Configuration properties

The following configurations are available for tuning Intelligent Replication:

| Property                                                           | Type   | Default Value        | Description                                                                                                                                                          |
|--------------------------------------------------------------------|--------|----------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `confluent.intelligent.replication.push.max.threads`               | INT    | `4`                  | Determines the maximum number of threads to be used for push replication.                                                                                            |
| `confluent.intelligent.replication.push.threads.per.remote.broker` | INT    | `1`                  | Determines the number of threads replicating to a single peer broker. Can<br/>be between 1 and the setting for `confluent.intelligent.replication.push.max.threads`. |
| `confluent.intelligent.replication.push.max.memory.buffer.bytes`   | LONG   | `209715200` (200 MB) | The maximum amount of memory used by push replication for buffering.<br/>Currently used solely by the records buffer for intelligent replication.                    |

## Review configuration guidelines

**Thread Configuration**
: - **Max Threads**: The `confluent.intelligent.replication.push.max.threads`
    setting controls the total thread pool size for push replication across all
    remote brokers.
  - **Threads Per Broker**: The `confluent.intelligent.replication.push.threads.per.remote.broker`
    setting determines how many threads are dedicated to each remote broker.
  - **Relationship**: The threads per broker setting cannot exceed the max threads setting.

**Memory Configuration**
: - **Buffer Size**: The `confluent.intelligent.replication.push.max.memory.buffer.bytes`
    setting controls memory allocation for push replication buffering.
  - **Monitoring**: Use the `PushManagerMemoryBytesUsed` metric to monitor
    actual memory usage against this limit.
