Welcome to TechNet Blogs Sign in | Join | Help

Large AD database? Probably not this large...

Over the last few months there have been a series of threads in regard to max <fill in the item here...there have been many> in a database. These items have ranged from database size to # of objects and other such things. I figured, after the latest thread over on activedir.og, I'd do a little testing and put some numbers behind it so we could say "we have done this" and not "the system should do this."

 

What should this testing accomplish?

 

First, raw DB size. Gotta create a big DB or it probably doesn't matter.

 

Next, # of objects. For my testing, this was the real metric I was interested in. As mentioned over on ActiveDir (I would provide a link to the thread but I can’t seem to get the mail archives to work right now…I’ll try and provide one later), there is a theoretical max # of objects in the lifetime of a database which is, all said and done, 2^31 objects. I wanted to shoot for this. After all, Dean asked what error you would get, and I didn’t know. :)

 

I wrote a tool which started banging against an ADAM SP1 x64 instance. It was creating pretty small objects as I wanted reduce the amt of time this test took. My objects looked like this:

                    dn: cn=leafcontX,cn=parentcontY,cn=objectsZ,ou=objdata

                    changetype: add

                    objectclass: container

(Of course, sub in values for X, Y and Z as appropriate)

I had it use anywhere from 16 to 40 threads for this work depending upon the phase of import, and I simply wrapped around ldifde for it….I figured, there is a well tested tool for this, why not let it do most of the hard work?

 

Next, I got my hands on a test box (thx EEC!), put it on a SAN, installed ADAM, and away I went.

 

Along the way, we did a few other perf tests (looking at increased checkpoint depths and the like) so it added a bit of time to the import. However, after about a month, I had nearly filled my 2TB partition:

06/08/2006  10:41 AM 2,196,927,299,584 adamntds.dit

 

I created just shy of 2^31 objects. When I went to create that next object (done here by hand in LDP to illustrate the error)…

***Calling Add...

ldap_add_s(ld, "cn=sample1,OU=ObjData", [1] attrs)

Error: Add: Operations Error. <1>

Server error: 000020EF: SvcErr: DSID-0208044C, problem 5012 (DIR_ERROR), data -1076

 

If you look up -1076, you’ll find it is JET_errOutOfAutoincrementValues (from esent98.h). Woo hoo! I ran out of DNTs.

 

With this DB in hand, it was time to find out what else works and what else does not…

-          Promotion of a replica fails. This makes perfect sense….it tries to create a couple of objects in the config NC, and that fails.

-          Create of an NC fails. Again, to be expected, this task consumes DNTs.

-          I ran esentutl /ms. It chugged for nearly 30 seconds, but worked perfectly.

-          I also ran esentutl /k to make sure the DB did not have any physical corruption, but also to just see how long that took. :)

-          Other standard tasks (kicking off garbage collection, online defrag, restarting the service, etc.) all worked perfectly.

-          Search works like a champ. Sure it takes a good bit of I/O for most interesting searches, but that’s to be expected, of course.

 

It is worth noting that anything which failed did so gracefully. There were no nastygrams in my event logs either.

 

So for those of you who are worrying….you can sleep well at night now. We have tried rolling over DNT, and it works just fine.

 

A fun stat…..from the esentutl /ms output:

Name                   Type   ObjidFDP    PgnoFDP  PriExt      Owned  Available

==============================================================

<EFleis – snip to save some space>

  nc_guid_Index         Idx         25         43     1-m   10870892          5

 

That owned number is in pages. That’s right, my NC_GUID index is 82.9GB…bigger than most databases. :)

 

While there were no major issues, we (Brett was looking at this too) did hit a few bumps along the way, and Brett was kind enough to write a few ESE tools for me to help monitor how we were doing. I’ll outline all of these things over the next few days as I have time to write them up. I’ll also provide more clarity around specific of what we did and saw as we went along.

 

Published Thursday, June 08, 2006 3:32 PM by efleis
Filed under:

Comments

# re: Large AD database? Probably not this large...

Thursday, June 08, 2006 8:57 PM by Tony Murray
Great info Eric!

The link to the start of the thread on ActiveDir.org is:

http://www.activedir.org/ml/msg08620.aspx

We've just moved the archive onto the ActiveDir.org web site and we're having one or two teething problems with the search feature.

Tony

# re: Large AD database? Probably not this large...

Friday, June 09, 2006 10:50 AM by joe
Very impressive blog entry and testing. So will that instance be kept around for further testing or will it just get killed off?

# re: Large AD database? Probably not this large...

Friday, June 09, 2006 12:21 PM by efleis
Killed off, after a bit more tinkering.

# joeware - never stop exploring&#8230; &raquo; That&#8217;s a spicey meatball&#8230;

# I decided to check out the size of Eric's DIT ...

Wednesday, June 14, 2006 6:46 PM by 183
Analysis of the fairly simplistic space usage on the biggest Active Directory database to date.

# joeware - never stop exploring&#8230; &raquo; ~Eric&#8217;s big DIT

Thursday, June 15, 2006 11:57 AM by joeware - never stop exploring… » ~Eric’s big DIT

# Active Directory max DIT size and follow-ups ..

Friday, June 16, 2006 4:21 AM by Tomek's DS World
Some time ago interested thread was started on ActiveDir.org regarding  maximum number of objects supported...

# Active Directory and eDirectory

Sunday, October 08, 2006 5:25 AM by The things that are better left unspoken

It's not easy to look objectively to the differences between Microsoft's Active Directory and Novell's

# ExchangeMonkey.com &raquo; Large Active Directories with W2k3

Sunday, October 22, 2006 2:04 PM by ExchangeMonkey.com » Large Active Directories with W2k3

# Exchange-Monkey.com &raquo; Large Active Directories with W2k3

Tuesday, October 24, 2006 2:52 AM by Exchange-Monkey.com » Large Active Directories with W2k3

# Active Directory max DIT size and follow-ups ..

Thursday, November 23, 2006 5:29 PM by Tomek's DS World

Some time ago interested thread was started on ActiveDir.org regarding maximum number of objects supported

# Womens Discount Perfume &raquo; Not romance perfume but still interesting&#8230;

# http://blogs.technet.com/efleis/archive/2006/06/08/434255.aspx

# W2K.PL &raquo; Blog Archive &raquo; Ile obiekt&oacute;w zmie??ci AD???

# How far You can actually push AD?

Friday, April 18, 2008 4:46 PM by Tomek's DS World

Have you ever wondered how many objects You can create in Your DIT (actually this was showed some time

# How far you can push Active Directory? &raquo; D' Technology Weblog: Technology, Blogging, Tips, Tricks, Computer, Hardware, Software, Tutorials, Internet, Web, Gadgets, Fashion, LifeStyle, Entertainment, News and more by Deepak Gupta.

# Large Active Directories using Windows 2003.

Sunday, May 25, 2008 3:38 AM by KevinB

Interesting blog post written on the subject of the theoretical limit of databases being 2^31 and trying...

# Active Directory - Structure - Forests, trees, and domains

Tuesday, October 28, 2008 1:24 AM by Confluence: Active

Active Directory Structure Forests, trees, and domains The framework that holds the objects is viewed at a number of levels. '''At the top of the structure is the Forest the collection of every object, its attributes,...

# Urgent pls, maximun limit on ADAM y AD LDA!!! | keyongtech

Wednesday, January 28, 2009 7:08 PM by Urgent pls, maximun limit on ADAM y AD LDA!!! | keyongtech
New Comments to this post are disabled
 
Page view tracker