---
title: About dynamic rebalancing
description: During dynamic rebalancing, entries get moved as they are modified. You configure dynamic rebalancing in the entry counter placement algorithm or a third-party placement algorithm that supports rebalancing.
component: pingdirectory
version: 11.0
page_id: pingdirectory:pingdirectoryproxy_server_administration_guide:pd_proxy_dynamic_rebalancing
canonical_url: https://docs.pingidentity.com/pingdirectory/11.0/pingdirectoryproxy_server_administration_guide/pd_proxy_dynamic_rebalancing.html
revdate: September 13, 2023
---

# About dynamic rebalancing

During dynamic rebalancing, entries get moved as they are modified. You configure dynamic rebalancing in the entry counter placement algorithm or a third-party placement algorithm that supports rebalancing.

This algorithm keeps a count of the number of entries or the size of the backend set. Configure dynamic rebalancing using the following parameters:

`rebalancing-enabled`

Determines whether entry rebalancing is enabled. When rebalancing is enabled, the placement algorithm is consulted after `modify` and `add` operations to determine whether the target entry should be moved to a different backend set. `rebalancing-scope`

Indicates which modified entries are candidates for rebalancing. A value of `top-level` indicates that only entries immediately below the entry-balancing base can be rebalanced. A value of any indicates that entries at any level below the entry-balancing base might be rebalanced. `rebalancing-minimum-percentage`

Specifies the minimum threshold for entries to be migrated from one backend set to a preferred backend set with a smaller size. Entries are not migrated unless the percentage difference between the value of the current backend set and the value of the preferred backend set exceeds this threshold. This parameter prevents unnecessarily migrating entries back and forth between backend sets of similar sizes. `rebalancing-subtree-size-limit`

Specifies the maximum size of a subtree that can be rebalanced. `poll-interval`

Specifies how long to wait between polling the size of the backends to determine how to rebalance and works in conjunction with the `rebalancing-minimum-percentage` property. `placement-criteria`

Determines which approach to use to select a destination backend for rebalancing. Possible values are:

* `entry-count`

* `backend-size`

* `custom`

The following figure illustrates an entry-balancing base DN and three subtrees, A, B, and C. If the rebalancing scope is set to `any`, any child entries under the base DN can be rebalanced. For example, if a change is made to entry A1, the entire subtree A might be rebalanced, depending upon how you have configured rebalancing. If the rebalancing scope is set to `top-level`, rebalancing is only triggered when entries at the top level, such as A, are modified. Changes made to subentries, such as A1 or A2, do not trigger rebalancing. Rebalancing is also triggered upon the addition of entries such as `A1,A2`, provided the scope is `any`.

![Diagram showing rebalancing at the top level.](_images/jeq1564012002622.png)

If you are writing your own third-party algorithm, you program dynamic rebalancing using the `SelectRebalancingBackendSet` method on the placement algorithm. Learn more in the [Server SDK documentation](https://developer.pingidentity.com/reference/server-sdk/latest/).
