I was onsite with a customer recently troubleshooting a mail routing issue when an email message was sent to a large distribution group (150,000+ members) which had many nested groups. After we resolved the issue, a conversation was started about converting this large distribution group into a dynamic distribution group (DDG). Admittedly, I had very limited experience with DDGs. I decided to engage some of my peers at Microsoft who had experience deploying and supporting DDGs for customers of varying size and complexity. They provided me some guidance on how to successfully leverage DDGs and suggested that there can be some performance advantages to their use.

I wanted to test the configuration in my lab and compare the performance results. In the lab, DDGs performed much better in the expansion of a large group of users and delivery of the email message.

However, even with this my lab findings, I would recommend to any of my customers that they start with a small pilot group and monitor performance, message tracking, expansion, and delivery over a period of time before leveraging this functionality for larger groups.

For your reference, I have included the results from my lab below.

Happy Exchanging!!!!

Note: Please ignore the numbers but compare the overall results. My lab as 20+ Exchange VMs that can sometime bog down the disk subsystem on the host machine providing high performance counters numbers.

Note: With the release of Exchange 2007 SP3 and Exchange 2010 a new feature has been introduced that provides faster expansion of distribution groups. For more information please read this article.

Performance Counter Results

While the LDAP search time was still high for the DDG, the spikes were less and the LDAP read time was very low.

Distribution Group

LDAP Read Time Average – 283ms

LDAP Read Time Spike – 994ms

LDAP Search Time Average – 200ms

LDAP Search Time Spike – 1654ms

Dynamic Distribution Group

LDAP Read Time Average – 16ms

LDAP Read Time Spike – 3ms

LDAP Search Time Average – 285ma

LDAP Search Time Spike – 1232ms

Environment

RED-HT-CAS-2007

§ HUB/CAS server

§ Fabrikam domain

§ Redmond AD Site

Red-MBX-2007

§ Mailbox sever

§ Fabrikam domain

§ Redmond AD Site

EX-RED-ALL

§ MBCASHUB

§ EX domain

§ EX-RED AD Site

75,000 Mailbox Enabled Users

The All-Fabrikam group contains nested groups that are also nested with all 75,000 mailbox-enabled user accounts.

dist1

ALL is a Dynamic Distribution Group (DDG) that contains all users.

dist2

dist3

Based on best practices I set up an expansion server for both groups below.

Note: If the expansion server were to go offline the group would not expand until that server is back online.

dist4

Note: The time lapse for message delivery doesn’t include time it took for MAPI delivery to the store just the amount of time it took to expand the groups and find final destination.

Test

§ Sent an email message to ‘All-Fabrikam’

dist5

§ LDAP counters from EX-RED-ALL

The performance counters spiked on the DC above 1600ms, should be around 100ms and the average was over 250ms which should be less than 50ms

dist6

§ Message Queue

You can see the message was sent at 4:34 and done at 4:48 – took about 15 minutes

dist7

dist8

dist9

dist10

§ Sent an email message to the ALL distribution group.

dist11

§ LDAP counters from EX-RED-ALL

dist12

Message tracking logs

Message sent at 6:03 and last expansion was at 6:13, total of 10 minutes

 

dist14

dist15