Cameron's profileCameron Fuller’s T2R2PhotosBlogLists Tools Help

Blog


    March 06

    Active Directory Stress Testing and Memory

    Active Directory Stress Testing

     

    As part of an upcoming virtualization project, we wanted to be able to determine how much memory we should allocate to our domain controllers if we will be running them in a virtual environment. To determine the requirements I wanted to stress test the domain controllers to see how they would perform with 2 GB of memory, 1 GB of memory and 512 MB of memory.

     

    My first thoughts on this were to create a really intensive LDAP query and have it run from several systems in the environment. Luckily during my searches for how to do this type of a query I ran across the Active Directory Performance Testing Tool (adtest). Adtest is available for download at

    http://www.microsoft.com/downloads/details.aspx?FamilyID=4814fe3f-92ce-4871-b8a4-99f98b3f4338&displaylang=en. This installs by default into \Program Files\Windows Resource Kits\Tools\ (in my case on a Vista 64 bit it’s in the x86 program files folder).

     

    To test with this we built out a virtual environment. The domain controller (Windows 2003) was installed on a VMWare server, and the four client operating systems were installed in Virtual PC. To create this environment we took the following steps:

     

    ·       Within a Virtual environment, installed a domain controller in a test domain.

    ·       Within the Virtual environment (on a different Host system), installed four workstations and added the workstations to the domain.

    ·       Installed Adtest on the server and the workstations.

    ·       Performed the configurations identified in the document on the server (don’t skip this step/the documentation is long but very relevant for this).

     

    Once the domain controller and the four client operating systems were installed and configured, the following steps were done to create the OU’s, Users, Groups, and to set passwords. (References to (pw) in the examples below should be replaced with the actual password)

     

    ·       Create OUs: On the server ran: adtest –r newroot –root 0 –t 20 –sf 0 –o newroot.log –user administrator –password (pw)

    ·       Create Users: On the server ran: adtest –r user –root 0 –t 20 –sf –o user.log –user administrator –password (pw)

    ·       The create users script generated 100,000 users with 5,000 of them per each of the 20 OUs created.

    ·       I had to increase the RID pool/it kept failing when adding users – see http://forums.techarena.in/showthread.php?t=21859 for details, but I had to comment out the “ATTR unicodePwd:$PassWord”  to get the user creation to work.

    ·       Set Passwords: To set passwords: adtest –r initpwd –root 0 –t 20 –sf –o user.log  –user administrator –password (pw)

    ·       Create Global Groups: To create global groups: adtest –r addacc –root 0  –t 20 –sf –o ggroups.log –user administrator –password (pw)

    ·       Add Users to Groups: To add users to global groups: adtest –r memacc –set GROUP=0 –root 0 –t 20 –sf –o user2groups.log –user administrator –password (pw)

     

    Finally, the tests which were run on the client included the following:

     

    ·       On each client ran:  adtest –r L1 –V5  –user administrator –password (pw)

    ·       On each client ran:  adtest –r L1 –t20  –user administrator –password (pw)

    ·       On each client ran:  adtest –run inter –f adtest.ats –root 0 –t 20 –m –bt  –user administrator –password (pw) > logfile.txt

     

    These tests were run on all four clients at the same time versus the domain controller which was initially installed with 2GB of memory.  The same test was run with 1GB of memory, and then with 512MB of memory. The log files contain a loop, failed, kernel mode time, user mode time, and op/sec fields. There is a file called adtest.mht which is part of the download and includes the syntax to use the tool as well as the explanation of the output file from ADTest.

     

    The log files from each test were collected, and added to Excel as csv files. Then the results from the four clients were summarized when the domain controller was running at 2GB, 1GB and 512MB. My expectation was that we would have better overall performance of the stress test when the DC was running more memory. During the tests we validated that the client systems were not bottlenecked/were performing as expected. Tests also validated that we were not bottlenecking on the domain controller.

     

    The results were not at all what I had expected. There was no noticeable change in the number of op/sec that could be accomplished on the four workstations during the stress testing period. While the memory utilization on the domain controller was just slightly above the 512MB of memory available for the system, there was no noticeable difference in performance (op/sec) between the same domain controller running with .5GB, 1GB and 2 GB of memory.

     

    Testing Environment Summary: Windows 2003 domain controller running as a virtual within a VMWare Host system. Windows XP clients running in Virtual PC to stress test the domain controller. Stress testing was done using ADTest with the commands listed above and using 100,000 ADTest created users.

     

    Summary: There was no noticeable statistical difference in performance found when stress testing a Windows 2003 domain controller with .5GB, 1 GB and 2 GB of memory. At least when running domain controllers in a virtual we will not be adding more memory in an attempt to increase domain controller performance.

    Comments

    Please wait...
    Sorry, the comment you entered is too long. Please shorten it.
    You didn't enter anything. Please try again.
    Sorry, we can't add your comment right now. Please try again later.
    To add a comment, you need permission from your parent. Ask for permission
    Your parent has turned off comments.
    Sorry, we can't delete your comment right now. Please try again later.
    You've exceeded the maximum number of comments that can be left in one day. Please try again in 24 hours.
    Your account has had the ability to leave comments disabled because our systems indicate that you may be spamming other users. If you believe that your account has been disabled in error please contact Windows Live support.
    Complete the security check below to finish leaving your comment.
    The characters you type in the security check must match the characters in the picture or audio.
    Cameron Fuller has turned off comments on this page.

    Trackbacks

    The trackback URL for this entry is:
    http://cameronfuller.spaces.live.com/blog/cns!A231E4EB0417CB76!1141.trak
    Weblogs that reference this entry
    • None