Seemingly, the answer to the question in the title is simple: the Distribution Point server can support up to 4,000 client machines[1]. So all you need to do is divide the number of client machines by 4,000 and rounding the result up to a whole number you get the required number of distribution servers.
Such a simple rule works in some cases, but not always. At least two important limitations can be identified here:
- Client machines can be assigned to CM Boundary Groups unevenly and each distribution server can support one or more such groups.
- The introduction of additional anti-virus or EDR-class software causes a performance loss forcing the 4000 criterion value to be reduced by several or even tens of percent (strong configuration dependence). Similar disruption will be introduced by sharing server roles. This is a topic for separate research and will not be considered here.
So let's consider the impact of the first constraint, separating the possible cases:
Case 1 - One CM Boundary Group object supported by all DP servers
In this case, the number of client machines (NCL) divided by (NDP) the number of distribution servers should not exceed 4,000.
NCL / NDP ≤ 4000
This criterion can also be expressed somewhat differently, relating it to unity:
NCL / (4000 *NDP ) ≤ 1
If there are unassigned DP servers, we do not take them into account.
Case 2 - multiple CM Boundary Group objects served by disjoint sets of DP servers
This time, for each CM Boundary Group object, you need to apply the method described above separately. Thus, the answer as to whether the number of distribution servers is sufficient is obtained for each CM Boundary Group object separately.
Since we are considering Boundary Group objects sequentially, so unassigned DP servers, are not taken into account.
Case 3 - multiple CM Boundary Group objects supported by DP server collections that can be assigned to more than one CM Boundary Group object.
The lack of a disconnect condition causes an inevitable complication. One must take into account that there is competition between customers coming from different CM Boundary Groups. Looking for some acceptable simplification (without the need for empirical studies), one can propose fractional shares of such servers proportional to the number of clients in a given group (the sum of fractional shares must be 1). Under this assumption, a DP server assigned to two CM Boundary Groups, one with 1,000 customers and the other with 2,000, would contribute a fractional share of 1/3 and 2/3 respectively to the criterion calculation.
Again, each CM Boundary Group object requires separate treatment and also unassigned DP servers, are not taken into account.
Determination of the required number of distribution servers is usually carried out at the development stage of the Configuration Manager implementation project. However, it should be borne in mind that configuration changes (including the installation of additional security software) and the natural growth of the environment force a revision of previously made assumptions. Therefore, as part of a periodic review of the configuration, it is worth checking whether distribution servers are missing or incorrectly assigned.
[1] https://learn.microsoft.com/en-us/intune/configmgr/core/plan-design/configs/size-and-scale-numbers#distribution-point
