Deployment Recommendations for Query-Based Distribution Groups

 

The time that Exchange requires to expand a query-based distribution group and run the query depends on several factors, as follows:

  • Type of hardware deployed in your organization   The categorizer can require up to 2 KB of memory for each recipient. This is a conservative metric that you can use as a baseline. Using this baseline, if you send an e-mail message to a query-based distribution group of 6,000 users (meaning that the query returns 6,000 records), the categorizer requires 12 megabytes (MB) of RAM only to expand the query-based distribution group. Although this use of memory is temporary, it does occur every time the group is expanded. Similarly, sending an e-mail message to a larger query-based distribution group of 100,000 users, the categorizer requires approximately 200 MB of RAM. The processor speed and amount of available physical memory affects how long it will take to deliver the e-mail messages after the expansion.

  • Global catalog or expansion server availability affects the expansion and delivery of e-mail messages that users send to query-based distribution groups   If all global catalog servers are unavailable, the message is placed in retry mode in the categorizer, which means that the complete expansion restarts after one hour. The general recommendation is to divide large query-based distribution groups into combinations of standard distribution groups, and assign different expansion servers for each large distribution group. The following options describe three approaches to doing this.

Option 1 Designate an Exchange 2003 server with no mailboxes, such as a public folder replica server or a bridgehead server, as the expansion server for a large query-based distribution group. Because this server has more bandwidth and resources to expand the query-based distribution group, expansion and delivery are more efficient.

Option 2 Create a query-based distribution group for every Exchange server, and limit each query-based distribution group to the mailboxes on that Exchange server. Designating this same server as the expansion server optimizes mail delivery. Then, use aggregate standard distribution groups that contain these query-based distribution groups as members. For example, to create a query-based distribution group for all full-time employees, you can create a query-based distribution group on each server for full-time employees, and name them "Server1 Full Time" and "Server2 Full Time." Then, create a distribution group composed of these server-based groups named "AllFullTime."

> [!NOTE]
> The distribution group that you use to combine the query-based distribution groups cannot itself be a query-based distribution group.

Option 3 The following example illustrates a third approach for improved handling of large query-based distribution groups.

You want to create a query-based distribution group named "All employees" with 100,000 users. Consider dividing the group into the following smaller query-based distribution groups and combining these groups into a single standard distribution group:

  - "All Temps" 10,000 users

  - "All Vendors" 5,000 users

  - "All Full-Time" 65,000 users

  - "All Interns" 2,000 users

  - "All Contractors" 18,000 users

In this case "All Full-Time" would be a large distribution group, so you may want to assign a specific expansion server to it. The other query-based distribution groups can be assigned an expansion server based on how the users are distributed across your Exchange servers. For example, if all of the interns reside on one Exchange server, you may want to designate the same server as the expansion server for "All Interns." Overall, this proposed approach will perform much better than a single query-based distribution group with 100,000 recipients.