Reviewing DFS Size Recommendations

As you design your DFS namespace, use the guidelines in Table 2.3 to avoid potential performance problems that can arise when size recommendations are exceeded.

Table 2.3 DFS Size Recommendations

Description

Recommendation*

Explanation

Path limit

Less than 260 characters

Win32 application programming interfaces (APIs) have a maximum path limit of 260 characters, so applications will fail when trying to access a namespace that goes beyond that limit. If the path length of the DFS namespace exceeds the Win32 API limit of 260 characters, users must map part of the namespace to a drive letter and access the longer namespace through the mapped drive letter.

There is no limit to the number of DFS roots you can create on a server running Windows Server 2003, Enterprise Edition or Windows Server 2003, Datacenter Edition. However, as you increase the number of roots per server, the Distributed File System service takes longer to initialize and uses more memory.

Number of root targets per domain-based DFS root

No fixed limit

If you do not enable root scalability mode, Microsoft recommends using 16 or fewer root targets to limit traffic to the server acting as the primary domain controller (PDC) emulator master.

Number of links per DFS namespace

5,000 for domain-based DFS

50,000 links for stand-alone DFS

When the number of links exceeds the recommended limit, you might experience performance degradation when making changes to the DFS configuration. For stand-alone DFS, namespace initialization after server startup might also be delayed.

The size of the DFS Active Directory object is determined by the number and path length of roots, links, comments, and targets in the namespace. Microsoft recommends using no more than 5,000 links in a domain-based namespace to prevent the DFS Active Directory object from exceeding 5 MB. Limiting the size of the Active Directory object is important because large domain-based DFS configurations can cause significantly increased network traffic originating from updates made to those roots, links, and targets.

* The figures in this table are based on information gathered in a test environment. The numbers in an operational DFS configuration might exceed the numbers described here and still provide acceptable performance.

Notes

You can check the size of an existing DFS namespace by using the following syntax in Dfsutil.exe:

dfsutil /root:\\domainname\rootname /view (for domain-based DFS)

dfsutil /root:\\servername\rootname /view (for stand-alone DFS)

The command output displays the number of links and, for domain-based DFS namespaces, the size of the DFS Active Directory object (described as blob size).

If your organization plans to create large namespaces, there are a number of strategies you can implement to work within the size recommendations shown in Table 2.3.

Keep comments to a minimum

When you add a root target or link target in the Distributed File Systems snap-in, you can enter comments that describe the target. If you plan to create a large namespace, use minimal comments, if any, because they can increase the overall size of the namespace.

Note

Comments are visible only within the DFS administration tools, and they are not visible to users when they navigate the namespace.

Create multiple namespaces

If you need to create more than 5,000 links in a domain-based DFS namespace, you can create multiple DFS namespaces that meet the recommended sizes and then link them together. For more information about creating multiple namespaces, see "Designing a DFS Namespace" later in this chapter.

Enable root scalability mode

You enable root scalability mode by using the /RootScalability parameter in Dfsutil.exe, which you can install from the \Support\Tools folder on the Windows Server 2003 operating system CD. When root scalability mode is enabled, DFS root servers get updates from the closest domain controller instead of the server acting as the PDC emulator master. As a result, root scalability mode reduces network traffic to the PDC emulator master at the expense of faster updates to all root servers. (When you make changes to the namespace, the changes are still made on the PDC emulator master, but the root servers no longer poll the PDC emulator master hourly for those changes; instead, they poll the closest domain controller.) With this mode enabled, you can have as many root targets as you need, as long as the size of the DFS Active Directory object (for each root) is less than 5 MB. For more information about the 5-MB limit, see the entry describing the size of the DFS Active Directory object in Table 2.3 earlier in this chapter.

Do not use root scalability mode if any of the following conditions exist in your organization:

Domain controller replication is slow. This increases the amount of time it takes for the PDC emulator master to replicate DFS changes to other domain controllers, which, in turn, replicate changes to the root servers. Until this replication completes, the namespace will be inconsistent on all root servers.

Root servers running Windows Server 2003 do not add site information to the DFS Active Directory object. As a result, if all root servers run Windows Server 2003, DFS can store more root and link information to the DFS Active Directory object before reaching the recommended 5-MB limit. For more information about using a mix of root servers running Windows 2000 Server and Windows Server 2003, see "Designing a DFS Namespace" later in this chapter.