Location: List Archives

List Archives

This forum is an archive of all posts to our mailing list over the past few years.  The forum is set read only therefore to contribute you will need to join our list community.  See more info about this here.

 

When subscribed to the list you should use your standard email client to send your posts to ActiveDir@mail.activedir.org.

List Archives

Subject: [ActiveDir] Indexing
Prev Next
You are not authorized to post a reply.

AuthorMessages
mcaseyUser is Offline

Posts:75

11/03/2008 11:33 AM  
Hi All,
I am looking for feedback on indexing additional attributes in AD to
support an increased volume of LDAP queries. I am currently working
on several projects, including automated group management, that will
be leveraging data stored in user and group objects for various other
automated tasks. Some examples of attributes I currently use are;
employeeID, title, department, departmentNumber, employeeType, and a
few Exchange extensionAttributes.

What are some common justifications to index or not to index? It
would also be interesting to know what issues people have run into
when indexing various attributes in AD. The dit in my environment is
not that large, ~500MB, and space it not really a concern at this
point. To my knowledge we run only the default indexes for
AD(win2k3)/Exchange(2k3)/possibly Cisco(unity).

Thanks in advance!

-matt
List info : http://www.activedir.org/List.aspx
List FAQ : http://www.activedir.org/ListFAQ.aspx
List archive: http://www.activedir.org/ma/default.aspx
bdesmondUser is Offline

Posts:977

11/03/2008 12:10 PM  
I'd index them and be done with it. Exchange 2007 setup indexes the extension attributes btw.

Thanks,
Brian Desmond
brian@briandesmond.com

c - 312.731.3132


-----Original Message-----
From: ActiveDir-owner@mail.activedir.org [mailto:ActiveDir-owner@mail.activedir.org] On Behalf Of Matt Casey
Sent: Monday, November 03, 2008 10:30 AM
To: ActiveDir@mail.activedir.org
Subject: [ActiveDir] Indexing

Hi All,
I am looking for feedback on indexing additional attributes in AD to
support an increased volume of LDAP queries. I am currently working
on several projects, including automated group management, that will
be leveraging data stored in user and group objects for various other
automated tasks. Some examples of attributes I currently use are;
employeeID, title, department, departmentNumber, employeeType, and a
few Exchange extensionAttributes.

What are some common justifications to index or not to index? It
would also be interesting to know what issues people have run into
when indexing various attributes in AD. The dit in my environment is
not that large, ~500MB, and space it not really a concern at this
point. To my knowledge we run only the default indexes for
AD(win2k3)/Exchange(2k3)/possibly Cisco(unity).

Thanks in advance!

-matt
List info : http://www.activedir.org/List.aspx
List FAQ : http://www.activedir.org/ListFAQ.aspx
List archive: http://www.activedir.org/ma/default.aspx
List info : http://www.activedir.org/List.aspx
List FAQ : http://www.activedir.org/ListFAQ.aspx
List archive: http://www.activedir.org/ma/default.aspx
DonHUser is Offline

Posts:65

11/03/2008 2:53 PM  
I'd recommend indexing them and then NOT being done with it. Instead, turn
up the logging level for searching (as shown in
http://msdn.microsoft.com/en-us/library/ms808539.aspx), run your queries,
and then at the results to see which of your newly added indices were
actually used satisfying your queries.

You're likely to find that indices on attributes with lots of unique values
(e.g., employeeID) are actually used, while indices on attributes with only
a few possible values (e.g., employeeType if that's just "full time" vs
"part time") are considered by the query processor but never used. You want
to keep the indices that the QP actually uses, and delete indices that are
not used.

Don

-----Original Message-----
From: ActiveDir-owner@mail.activedir.org
[mailto:ActiveDir-owner@mail.activedir.org] On Behalf Of Brian Desmond
Sent: Monday, November 03, 2008 9:06 AM
To: ActiveDir@mail.activedir.org
Subject: RE: [ActiveDir] Indexing

I'd index them and be done with it. Exchange 2007 setup indexes the
extension attributes btw.

Thanks,
Brian Desmond
brian@briandesmond.com

c - 312.731.3132


-----Original Message-----
From: ActiveDir-owner@mail.activedir.org
[mailto:ActiveDir-owner@mail.activedir.org] On Behalf Of Matt Casey
Sent: Monday, November 03, 2008 10:30 AM
To: ActiveDir@mail.activedir.org
Subject: [ActiveDir] Indexing

Hi All,
I am looking for feedback on indexing additional attributes in AD to
support an increased volume of LDAP queries. I am currently working
on several projects, including automated group management, that will
be leveraging data stored in user and group objects for various other
automated tasks. Some examples of attributes I currently use are;
employeeID, title, department, departmentNumber, employeeType, and a
few Exchange extensionAttributes.

What are some common justifications to index or not to index? It
would also be interesting to know what issues people have run into
when indexing various attributes in AD. The dit in my environment is
not that large, ~500MB, and space it not really a concern at this
point. To my knowledge we run only the default indexes for
AD(win2k3)/Exchange(2k3)/possibly Cisco(unity).

Thanks in advance!

-matt
List info : http://www.activedir.org/List.aspx
List FAQ : http://www.activedir.org/ListFAQ.aspx
List archive: http://www.activedir.org/ma/default.aspx
List info : http://www.activedir.org/List.aspx
List FAQ : http://www.activedir.org/ListFAQ.aspx
List archive: http://www.activedir.org/ma/default.aspx

List info : http://www.activedir.org/List.aspx
List FAQ : http://www.activedir.org/ListFAQ.aspx
List archive: http://www.activedir.org/ma/default.aspx
GilUser is Offline

Posts:311

11/03/2008 3:15 PM  
The only justification for indexing that I can think of is to improve query response time and to decrease load during those queries. The downsides are some increase in DIT size (usually not much) and increase in write times (again not much, and usually negligible in the grand scheme of things). I suppose that if the LSA working set grew just enough to cause a bunch of paging you could screw performance, but I've never seen (or heard of) that.

Make sure you pick the appropriate kind of index for your queries (DNT, PDNT, ANR, etc)

Indexes are good. Have some.

-g

-----Original Message-----
From: ActiveDir-owner@mail.activedir.org [mailto:ActiveDir-owner@mail.activedir.org] On Behalf Of Matt Casey
Sent: Monday, November 03, 2008 9:30 AM
To: ActiveDir@mail.activedir.org
Subject: [ActiveDir] Indexing

Hi All,
I am looking for feedback on indexing additional attributes in AD to
support an increased volume of LDAP queries. I am currently working
on several projects, including automated group management, that will
be leveraging data stored in user and group objects for various other
automated tasks. Some examples of attributes I currently use are;
employeeID, title, department, departmentNumber, employeeType, and a
few Exchange extensionAttributes.

What are some common justifications to index or not to index? It
would also be interesting to know what issues people have run into
when indexing various attributes in AD. The dit in my environment is
not that large, ~500MB, and space it not really a concern at this
point. To my knowledge we run only the default indexes for
AD(win2k3)/Exchange(2k3)/possibly Cisco(unity).

Thanks in advance!

-matt
List info : http://www.activedir.org/List.aspx
List FAQ : http://www.activedir.org/ListFAQ.aspx
List archive: http://www.activedir.org/ma/default.aspx
List info : http://www.activedir.org/List.aspx
List FAQ : http://www.activedir.org/ListFAQ.aspx
List archive: http://www.activedir.org/ma/default.aspx
dgavrilovUser is Offline

Posts:59

11/03/2008 3:48 PM  
One other thing to keep in mind is that regular indices are global, i.e. they index all the data in the DIT.
Thus, they are most useful when you do global searches (e.g. find a person in the domain or forest by his employeeID).
But if you run OU-scoped searches, then the query processor may choose not to use the global index, and resort to walking the OU hierarchy (ancestry index) instead.

Again, as Don recommends, do try to introduce the indices, and see if they are actually being utilized. It's best to do it on real (or close enough) data, and with real (or close enough) queries.

Dmitri

-----Original Message-----
From: ActiveDir-owner@mail.activedir.org [mailto:ActiveDir-owner@mail.activedir.org] On Behalf Of Don Hacherl
Sent: Monday, November 03, 2008 11:50 AM
To: ActiveDir@mail.activedir.org
Subject: RE: [ActiveDir] Indexing

I'd recommend indexing them and then NOT being done with it. Instead, turn
up the logging level for searching (as shown in
http://msdn.microsoft.com/en-us/library/ms808539.aspx), run your queries,
and then at the results to see which of your newly added indices were
actually used satisfying your queries.

You're likely to find that indices on attributes with lots of unique values
(e.g., employeeID) are actually used, while indices on attributes with only
a few possible values (e.g., employeeType if that's just "full time" vs
"part time") are considered by the query processor but never used. You want
to keep the indices that the QP actually uses, and delete indices that are
not used.

Don

-----Original Message-----
From: ActiveDir-owner@mail.activedir.org
[mailto:ActiveDir-owner@mail.activedir.org] On Behalf Of Brian Desmond
Sent: Monday, November 03, 2008 9:06 AM
To: ActiveDir@mail.activedir.org
Subject: RE: [ActiveDir] Indexing

I'd index them and be done with it. Exchange 2007 setup indexes the
extension attributes btw.

Thanks,
Brian Desmond
brian@briandesmond.com

c - 312.731.3132


-----Original Message-----
From: ActiveDir-owner@mail.activedir.org
[mailto:ActiveDir-owner@mail.activedir.org] On Behalf Of Matt Casey
Sent: Monday, November 03, 2008 10:30 AM
To: ActiveDir@mail.activedir.org
Subject: [ActiveDir] Indexing

Hi All,
I am looking for feedback on indexing additional attributes in AD to
support an increased volume of LDAP queries. I am currently working
on several projects, including automated group management, that will
be leveraging data stored in user and group objects for various other
automated tasks. Some examples of attributes I currently use are;
employeeID, title, department, departmentNumber, employeeType, and a
few Exchange extensionAttributes.

What are some common justifications to index or not to index? It
would also be interesting to know what issues people have run into
when indexing various attributes in AD. The dit in my environment is
not that large, ~500MB, and space it not really a concern at this
point. To my knowledge we run only the default indexes for
AD(win2k3)/Exchange(2k3)/possibly Cisco(unity).

Thanks in advance!

-matt
List info : http://www.activedir.org/List.aspx
List FAQ : http://www.activedir.org/ListFAQ.aspx
List archive: http://www.activedir.org/ma/default.aspx
List info : http://www.activedir.org/List.aspx
List FAQ : http://www.activedir.org/ListFAQ.aspx
List archive: http://www.activedir.org/ma/default.aspx

List info : http://www.activedir.org/List.aspx
List FAQ : http://www.activedir.org/ListFAQ.aspx
List archive: http://www.activedir.org/ma/default.aspx
List info : http://www.activedir.org/List.aspx
List FAQ : http://www.activedir.org/ListFAQ.aspx
List archive: http://www.activedir.org/ma/default.aspx
mcaseyUser is Offline

Posts:75

11/03/2008 7:37 PM  
Thanks for the responses! I believe the employeeID index will
probably provide us the most benefit since its value should represent
a unique object in the directory. Other values such as our job codes
and department codes should benefit as well, there appears to be a few
hundred distinct values stored in AD. Based on Don H's feedback I may
leave employeeType alone because there appears to only be 6 different
values for that field.

How you do think I should treat values that only have around 30 unique
values in the directory? For example, 4000 users divided among 30
specialization codes. Would the query processor leverage the
additional index(not as unique as employeeID, not as generic as
employeeType)? I will do some testing in a test domain but as usual
it may be hard to see how things will behave in production.

Dmitri, I inherited an OU structure that makes it difficult to target
queries effectively anywhere other than domain root. I will
definitely your comments in mind as we work on cleaning up our
structure.



On Mon, Nov 3, 2008 at 3:45 PM, Dmitri Gavrilov
<dmitrig@exchange.microsoft.com> wrote:
> One other thing to keep in mind is that regular indices are global, i.e. they index all the data in the DIT.
> Thus, they are most useful when you do global searches (e.g. find a person in the domain or forest by his employeeID).
> But if you run OU-scoped searches, then the query processor may choose not to use the global index, and resort to walking the OU hierarchy (ancestry index) instead.
>
> Again, as Don recommends, do try to introduce the indices, and see if they are actually being utilized. It's best to do it on real (or close enough) data, and with real (or close enough) queries.
>
> Dmitri
>
> -----Original Message-----
> From: ActiveDir-owner@mail.activedir.org [mailto:ActiveDir-owner@mail.activedir.org] On Behalf Of Don Hacherl
> Sent: Monday, November 03, 2008 11:50 AM
> To: ActiveDir@mail.activedir.org
> Subject: RE: [ActiveDir] Indexing
>
> I'd recommend indexing them and then NOT being done with it. Instead, turn
> up the logging level for searching (as shown in
> http://msdn.microsoft.com/en-us/library/ms808539.aspx), run your queries,
> and then at the results to see which of your newly added indices were
> actually used satisfying your queries.
>
> You're likely to find that indices on attributes with lots of unique values
> (e.g., employeeID) are actually used, while indices on attributes with only
> a few possible values (e.g., employeeType if that's just "full time" vs
> "part time") are considered by the query processor but never used. You want
> to keep the indices that the QP actually uses, and delete indices that are
> not used.
>
> Don
>
> -----Original Message-----
> From: ActiveDir-owner@mail.activedir.org
> [mailto:ActiveDir-owner@mail.activedir.org] On Behalf Of Brian Desmond
> Sent: Monday, November 03, 2008 9:06 AM
> To: ActiveDir@mail.activedir.org
> Subject: RE: [ActiveDir] Indexing
>
> I'd index them and be done with it. Exchange 2007 setup indexes the
> extension attributes btw.
>
> Thanks,
> Brian Desmond
> brian@briandesmond.com
>
> c - 312.731.3132
>
>
> -----Original Message-----
> From: ActiveDir-owner@mail.activedir.org
> [mailto:ActiveDir-owner@mail.activedir.org] On Behalf Of Matt Casey
> Sent: Monday, November 03, 2008 10:30 AM
> To: ActiveDir@mail.activedir.org
> Subject: [ActiveDir] Indexing
>
> Hi All,
> I am looking for feedback on indexing additional attributes in AD to
> support an increased volume of LDAP queries. I am currently working
> on several projects, including automated group management, that will
> be leveraging data stored in user and group objects for various other
> automated tasks. Some examples of attributes I currently use are;
> employeeID, title, department, departmentNumber, employeeType, and a
> few Exchange extensionAttributes.
>
> What are some common justifications to index or not to index? It
> would also be interesting to know what issues people have run into
> when indexing various attributes in AD. The dit in my environment is
> not that large, ~500MB, and space it not really a concern at this
> point. To my knowledge we run only the default indexes for
> AD(win2k3)/Exchange(2k3)/possibly Cisco(unity).
>
> Thanks in advance!
>
> -matt
> List info : http://www.activedir.org/List.aspx
> List FAQ : http://www.activedir.org/ListFAQ.aspx
> List archive: http://www.activedir.org/ma/default.aspx
> List info : http://www.activedir.org/List.aspx
> List FAQ : http://www.activedir.org/ListFAQ.aspx
> List archive: http://www.activedir.org/ma/default.aspx
>
> List info : http://www.activedir.org/List.aspx
> List FAQ : http://www.activedir.org/ListFAQ.aspx
> List archive: http://www.activedir.org/ma/default.aspx
> List info : http://www.activedir.org/List.aspx
> List FAQ : http://www.activedir.org/ListFAQ.aspx
> List archive: http://www.activedir.org/ma/default.aspx
>
List info : http://www.activedir.org/List.aspx
List FAQ : http://www.activedir.org/ListFAQ.aspx
List archive: http://www.activedir.org/ma/default.aspx
DonHUser is Offline

Posts:65

11/03/2008 8:20 PM  
The QP generally uses one index per query (ignoring complicated queries),
and will use whichever index most tightly encloses the result set. How this
works with your queries depends on your data and your queries. Again I
refer you to the "Tracking Index Use" section of
http://msdn.microsoft.com/en-us/library/ms808539.aspx.

If you're running a query of the form
(&(employeeID=1234)(employeeType=Temp)) then the employeeID index will
always be the one chosen, and the presence of the employeeType index will
only slow things down a little (by causing the QP to evaluate another plan
that turns out never to be optimal).

Really, the only way to do it is load the data on a live system, run the
queries, and look at the event log QP results. If you don't want to muck
with your production system (coward!) then I personally recommend ADAM for
this. You can sync the user data over using some tool whose name I never
could remember, and then do all the schema mucking and QP testing on a
private ADAM system. This both keeps you from doing anything untoward in
production and makes your test results much easier to read.

Don

-----Original Message-----
From: ActiveDir-owner@mail.activedir.org
[mailto:ActiveDir-owner@mail.activedir.org] On Behalf Of Matt Casey
Sent: Monday, November 03, 2008 4:35 PM
To: ActiveDir@mail.activedir.org
Subject: Re: [ActiveDir] Indexing

Thanks for the responses! I believe the employeeID index will
probably provide us the most benefit since its value should represent
a unique object in the directory. Other values such as our job codes
and department codes should benefit as well, there appears to be a few
hundred distinct values stored in AD. Based on Don H's feedback I may
leave employeeType alone because there appears to only be 6 different
values for that field.

How you do think I should treat values that only have around 30 unique
values in the directory? For example, 4000 users divided among 30
specialization codes. Would the query processor leverage the
additional index(not as unique as employeeID, not as generic as
employeeType)? I will do some testing in a test domain but as usual
it may be hard to see how things will behave in production.

Dmitri, I inherited an OU structure that makes it difficult to target
queries effectively anywhere other than domain root. I will
definitely your comments in mind as we work on cleaning up our
structure.



On Mon, Nov 3, 2008 at 3:45 PM, Dmitri Gavrilov
<dmitrig@exchange.microsoft.com> wrote:
> One other thing to keep in mind is that regular indices are global, i.e.
they index all the data in the DIT.
> Thus, they are most useful when you do global searches (e.g. find a person
in the domain or forest by his employeeID).
> But if you run OU-scoped searches, then the query processor may choose not
to use the global index, and resort to walking the OU hierarchy (ancestry
index) instead.
>
> Again, as Don recommends, do try to introduce the indices, and see if they
are actually being utilized. It's best to do it on real (or close enough)
data, and with real (or close enough) queries.
>
> Dmitri
>
> -----Original Message-----
> From: ActiveDir-owner@mail.activedir.org
[mailto:ActiveDir-owner@mail.activedir.org] On Behalf Of Don Hacherl
> Sent: Monday, November 03, 2008 11:50 AM
> To: ActiveDir@mail.activedir.org
> Subject: RE: [ActiveDir] Indexing
>
> I'd recommend indexing them and then NOT being done with it. Instead,
turn
> up the logging level for searching (as shown in
> http://msdn.microsoft.com/en-us/library/ms808539.aspx), run your queries,
> and then at the results to see which of your newly added indices were
> actually used satisfying your queries.
>
> You're likely to find that indices on attributes with lots of unique
values
> (e.g., employeeID) are actually used, while indices on attributes with
only
> a few possible values (e.g., employeeType if that's just "full time" vs
> "part time") are considered by the query processor but never used. You
want
> to keep the indices that the QP actually uses, and delete indices that are
> not used.
>
> Don
>
> -----Original Message-----
> From: ActiveDir-owner@mail.activedir.org
> [mailto:ActiveDir-owner@mail.activedir.org] On Behalf Of Brian Desmond
> Sent: Monday, November 03, 2008 9:06 AM
> To: ActiveDir@mail.activedir.org
> Subject: RE: [ActiveDir] Indexing
>
> I'd index them and be done with it. Exchange 2007 setup indexes the
> extension attributes btw.
>
> Thanks,
> Brian Desmond
> brian@briandesmond.com
>
> c - 312.731.3132
>
>
> -----Original Message-----
> From: ActiveDir-owner@mail.activedir.org
> [mailto:ActiveDir-owner@mail.activedir.org] On Behalf Of Matt Casey
> Sent: Monday, November 03, 2008 10:30 AM
> To: ActiveDir@mail.activedir.org
> Subject: [ActiveDir] Indexing
>
> Hi All,
> I am looking for feedback on indexing additional attributes in AD to
> support an increased volume of LDAP queries. I am currently working
> on several projects, including automated group management, that will
> be leveraging data stored in user and group objects for various other
> automated tasks. Some examples of attributes I currently use are;
> employeeID, title, department, departmentNumber, employeeType, and a
> few Exchange extensionAttributes.
>
> What are some common justifications to index or not to index? It
> would also be interesting to know what issues people have run into
> when indexing various attributes in AD. The dit in my environment is
> not that large, ~500MB, and space it not really a concern at this
> point. To my knowledge we run only the default indexes for
> AD(win2k3)/Exchange(2k3)/possibly Cisco(unity).
>
> Thanks in advance!
>
> -matt
> List info : http://www.activedir.org/List.aspx
> List FAQ : http://www.activedir.org/ListFAQ.aspx
> List archive: http://www.activedir.org/ma/default.aspx
> List info : http://www.activedir.org/List.aspx
> List FAQ : http://www.activedir.org/ListFAQ.aspx
> List archive: http://www.activedir.org/ma/default.aspx
>
> List info : http://www.activedir.org/List.aspx
> List FAQ : http://www.activedir.org/ListFAQ.aspx
> List archive: http://www.activedir.org/ma/default.aspx
> List info : http://www.activedir.org/List.aspx
> List FAQ : http://www.activedir.org/ListFAQ.aspx
> List archive: http://www.activedir.org/ma/default.aspx
>
List info : http://www.activedir.org/List.aspx
List FAQ : http://www.activedir.org/ListFAQ.aspx
List archive: http://www.activedir.org/ma/default.aspx

List info : http://www.activedir.org/List.aspx
List FAQ : http://www.activedir.org/ListFAQ.aspx
List archive: http://www.activedir.org/ma/default.aspx
neilrustonUser is Offline

Posts:164

11/04/2008 4:16 AM  
In addition to the arguments given already:

When indexing attributes, I try to ascertain how the searches will be
performed, which then determine if and how those attributes will/should
be indexed.

The schema supports 3 types of index:
- Index over object (searchFlags bit 0 set to 1)
- Index object in each container (searchFlags bits 1 and 0 set to 1)
- Tuple / medial searches / index (searchFlags bits 5 and 0 set to 1)

The attributes in question may be queried in different ways, thus
leading to those attributes all being indexed, but in slightly different
ways (as per the above).

Further reading here:
http://technet.microsoft.com/en-us/library/cc755809.aspx

I'd also agree with earlier comments regarding the assessment of whether
it is appropriate and beneficial to index attributes.



Thanks,
neil


-----Original Message-----
From: ActiveDir-owner@mail.activedir.org
[mailto:ActiveDir-owner@mail.activedir.org] On Behalf Of Don Hacherl
Sent: 04 November 2008 01:16
To: ActiveDir@mail.activedir.org
Subject: RE: [ActiveDir] Indexing

The QP generally uses one index per query (ignoring complicated
queries),
and will use whichever index most tightly encloses the result set. How
this
works with your queries depends on your data and your queries. Again I
refer you to the "Tracking Index Use" section of
http://msdn.microsoft.com/en-us/library/ms808539.aspx.

If you're running a query of the form
(&(employeeID=1234)(employeeType=Temp)) then the employeeID index will
always be the one chosen, and the presence of the employeeType index
will
only slow things down a little (by causing the QP to evaluate another
plan
that turns out never to be optimal).

Really, the only way to do it is load the data on a live system, run the
queries, and look at the event log QP results. If you don't want to
muck
with your production system (coward!) then I personally recommend ADAM
for
this. You can sync the user data over using some tool whose name I
never
could remember, and then do all the schema mucking and QP testing on a
private ADAM system. This both keeps you from doing anything untoward
in
production and makes your test results much easier to read.

Don

-----Original Message-----
From: ActiveDir-owner@mail.activedir.org
[mailto:ActiveDir-owner@mail.activedir.org] On Behalf Of Matt Casey
Sent: Monday, November 03, 2008 4:35 PM
To: ActiveDir@mail.activedir.org
Subject: Re: [ActiveDir] Indexing

Thanks for the responses! I believe the employeeID index will
probably provide us the most benefit since its value should represent
a unique object in the directory. Other values such as our job codes
and department codes should benefit as well, there appears to be a few
hundred distinct values stored in AD. Based on Don H's feedback I may
leave employeeType alone because there appears to only be 6 different
values for that field.

How you do think I should treat values that only have around 30 unique
values in the directory? For example, 4000 users divided among 30
specialization codes. Would the query processor leverage the
additional index(not as unique as employeeID, not as generic as
employeeType)? I will do some testing in a test domain but as usual
it may be hard to see how things will behave in production.

Dmitri, I inherited an OU structure that makes it difficult to target
queries effectively anywhere other than domain root. I will
definitely your comments in mind as we work on cleaning up our
structure.



On Mon, Nov 3, 2008 at 3:45 PM, Dmitri Gavrilov
<dmitrig@exchange.microsoft.com> wrote:
> One other thing to keep in mind is that regular indices are global,
i.e.
they index all the data in the DIT.
> Thus, they are most useful when you do global searches (e.g. find a
person
in the domain or forest by his employeeID).
> But if you run OU-scoped searches, then the query processor may choose
not
to use the global index, and resort to walking the OU hierarchy
(ancestry
index) instead.
>
> Again, as Don recommends, do try to introduce the indices, and see if
they
are actually being utilized. It's best to do it on real (or close
enough)
data, and with real (or close enough) queries.
>
> Dmitri
>
> -----Original Message-----
> From: ActiveDir-owner@mail.activedir.org
[mailto:ActiveDir-owner@mail.activedir.org] On Behalf Of Don Hacherl
> Sent: Monday, November 03, 2008 11:50 AM
> To: ActiveDir@mail.activedir.org
> Subject: RE: [ActiveDir] Indexing
>
> I'd recommend indexing them and then NOT being done with it. Instead,
turn
> up the logging level for searching (as shown in
> http://msdn.microsoft.com/en-us/library/ms808539.aspx), run your
queries,
> and then at the results to see which of your newly added indices were
> actually used satisfying your queries.
>
> You're likely to find that indices on attributes with lots of unique
values
> (e.g., employeeID) are actually used, while indices on attributes with
only
> a few possible values (e.g., employeeType if that's just "full time"
vs
> "part time") are considered by the query processor but never used.
You
want
> to keep the indices that the QP actually uses, and delete indices that
are
> not used.
>
> Don
>
> -----Original Message-----
> From: ActiveDir-owner@mail.activedir.org
> [mailto:ActiveDir-owner@mail.activedir.org] On Behalf Of Brian Desmond
> Sent: Monday, November 03, 2008 9:06 AM
> To: ActiveDir@mail.activedir.org
> Subject: RE: [ActiveDir] Indexing
>
> I'd index them and be done with it. Exchange 2007 setup indexes the
> extension attributes btw.
>
> Thanks,
> Brian Desmond
> brian@briandesmond.com
>
> c - 312.731.3132
>
>
> -----Original Message-----
> From: ActiveDir-owner@mail.activedir.org
> [mailto:ActiveDir-owner@mail.activedir.org] On Behalf Of Matt Casey
> Sent: Monday, November 03, 2008 10:30 AM
> To: ActiveDir@mail.activedir.org
> Subject: [ActiveDir] Indexing
>
> Hi All,
> I am looking for feedback on indexing additional attributes in AD to
> support an increased volume of LDAP queries. I am currently working
> on several projects, including automated group management, that will
> be leveraging data stored in user and group objects for various other
> automated tasks. Some examples of attributes I currently use are;
> employeeID, title, department, departmentNumber, employeeType, and a
> few Exchange extensionAttributes.
>
> What are some common justifications to index or not to index? It
> would also be interesting to know what issues people have run into
> when indexing various attributes in AD. The dit in my environment is
> not that large, ~500MB, and space it not really a concern at this
> point. To my knowledge we run only the default indexes for
> AD(win2k3)/Exchange(2k3)/possibly Cisco(unity).
>
> Thanks in advance!
>
> -matt
> List info : http://www.activedir.org/List.aspx
> List FAQ : http://www.activedir.org/ListFAQ.aspx
> List archive: http://www.activedir.org/ma/default.aspx
> List info : http://www.activedir.org/List.aspx
> List FAQ : http://www.activedir.org/ListFAQ.aspx
> List archive: http://www.activedir.org/ma/default.aspx
>
> List info : http://www.activedir.org/List.aspx
> List FAQ : http://www.activedir.org/ListFAQ.aspx
> List archive: http://www.activedir.org/ma/default.aspx
> List info : http://www.activedir.org/List.aspx
> List FAQ : http://www.activedir.org/ListFAQ.aspx
> List archive: http://www.activedir.org/ma/default.aspx
>
List info : http://www.activedir.org/List.aspx
List FAQ : http://www.activedir.org/ListFAQ.aspx
List archive: http://www.activedir.org/ma/default.aspx

List info : http://www.activedir.org/List.aspx
List FAQ : http://www.activedir.org/ListFAQ.aspx
List archive: http://www.activedir.org/ma/default.aspx
Barclays Wealth is the wealth management division of Barclays Bank PLC. This email may relate to or be sent from other members of the Barclays Group.

The availability of products and services may be limited by the applicable laws and regulations in certain jurisdictions. The Barclays Group does not normally accept or offer business instructions via internet email. Any action that you might take upon this message might be at your own risk.

This email and any attachments are confidential and intended solely for the addressee and may also be privileged or exempt from disclosure under applicable law. If you are not the addressee, or have received this email in error, please notify the sender immediately, delete it from your system and do not copy, disclose or otherwise act upon any part of this email or its attachments.

Internet communications are not guaranteed to be secure or without viruses. The Barclays Group does not accept responsibility for any loss arising from unauthorised access to, or interference with, any Internet communications by any third party, or from the transmission of any viruses. Replies to this email may be monitored by the Barclays Group for operational or business reasons.

Any opinion or other information in this email or its attachments that does not relate to the business of the Barclays Group is personal to the sender and is not given or endorsed by the Barclays Group.

Barclays Bank PLC. Registered in England and Wales (registered no. 1026167).
Registered Office: 1 Churchill Place, London, E14 5HP, United Kingdom.

Barclays Bank PLC is authorised and regulated by the Financial Services Authority.
List info : http://www.activedir.org/List.aspx
List FAQ : http://www.activedir.org/ListFAQ.aspx
List archive: http://www.activedir.org/ma/default.aspx
mcaseyUser is Offline

Posts:75

11/04/2008 8:12 AM  
Thanks again. I read through the articles you guys mentioned, I
appreciate the info. I must admit that 'coward' sometimes comes to
mind when i think about the change management review that comes before
I make the change. Actually making the change in production is a
little less of a concern :)

In the meantime I will get another instance of ADAM going and see how
much fun I can have with that. Thanks again!


On Tue, Nov 4, 2008 at 4:11 AM, <neil.ruston@barclayswealth.com> wrote:
> In addition to the arguments given already:
>
> When indexing attributes, I try to ascertain how the searches will be
> performed, which then determine if and how those attributes will/should
> be indexed.
>
> The schema supports 3 types of index:
> - Index over object (searchFlags bit 0 set to 1)
> - Index object in each container (searchFlags bits 1 and 0 set to 1)
> - Tuple / medial searches / index (searchFlags bits 5 and 0 set to 1)
>
> The attributes in question may be queried in different ways, thus
> leading to those attributes all being indexed, but in slightly different
> ways (as per the above).
>
> Further reading here:
> http://technet.microsoft.com/en-us/library/cc755809.aspx
>
> I'd also agree with earlier comments regarding the assessment of whether
> it is appropriate and beneficial to index attributes.
>
>
>
> Thanks,
> neil
>
>
> -----Original Message-----
> From: ActiveDir-owner@mail.activedir.org
> [mailto:ActiveDir-owner@mail.activedir.org] On Behalf Of Don Hacherl
> Sent: 04 November 2008 01:16
> To: ActiveDir@mail.activedir.org
> Subject: RE: [ActiveDir] Indexing
>
> The QP generally uses one index per query (ignoring complicated
> queries),
> and will use whichever index most tightly encloses the result set. How
> this
> works with your queries depends on your data and your queries. Again I
> refer you to the "Tracking Index Use" section of
> http://msdn.microsoft.com/en-us/library/ms808539.aspx.
>
> If you're running a query of the form
> (&(employeeID=1234)(employeeType=Temp)) then the employeeID index will
> always be the one chosen, and the presence of the employeeType index
> will
> only slow things down a little (by causing the QP to evaluate another
> plan
> that turns out never to be optimal).
>
> Really, the only way to do it is load the data on a live system, run the
> queries, and look at the event log QP results. If you don't want to
> muck
> with your production system (coward!) then I personally recommend ADAM
> for
> this. You can sync the user data over using some tool whose name I
> never
> could remember, and then do all the schema mucking and QP testing on a
> private ADAM system. This both keeps you from doing anything untoward
> in
> production and makes your test results much easier to read.
>
> Don
>
> -----Original Message-----
> From: ActiveDir-owner@mail.activedir.org
> [mailto:ActiveDir-owner@mail.activedir.org] On Behalf Of Matt Casey
> Sent: Monday, November 03, 2008 4:35 PM
> To: ActiveDir@mail.activedir.org
> Subject: Re: [ActiveDir] Indexing
>
> Thanks for the responses! I believe the employeeID index will
> probably provide us the most benefit since its value should represent
> a unique object in the directory. Other values such as our job codes
> and department codes should benefit as well, there appears to be a few
> hundred distinct values stored in AD. Based on Don H's feedback I may
> leave employeeType alone because there appears to only be 6 different
> values for that field.
>
> How you do think I should treat values that only have around 30 unique
> values in the directory? For example, 4000 users divided among 30
> specialization codes. Would the query processor leverage the
> additional index(not as unique as employeeID, not as generic as
> employeeType)? I will do some testing in a test domain but as usual
> it may be hard to see how things will behave in production.
>
> Dmitri, I inherited an OU structure that makes it difficult to target
> queries effectively anywhere other than domain root. I will
> definitely your comments in mind as we work on cleaning up our
> structure.
>
>
>
> On Mon, Nov 3, 2008 at 3:45 PM, Dmitri Gavrilov
> <dmitrig@exchange.microsoft.com> wrote:
>> One other thing to keep in mind is that regular indices are global,
> i.e.
> they index all the data in the DIT.
>> Thus, they are most useful when you do global searches (e.g. find a
> person
> in the domain or forest by his employeeID).
>> But if you run OU-scoped searches, then the query processor may choose
> not
> to use the global index, and resort to walking the OU hierarchy
> (ancestry
> index) instead.
>>
>> Again, as Don recommends, do try to introduce the indices, and see if
> they
> are actually being utilized. It's best to do it on real (or close
> enough)
> data, and with real (or close enough) queries.
>>
>> Dmitri
>>
>> -----Original Message-----
>> From: ActiveDir-owner@mail.activedir.org
> [mailto:ActiveDir-owner@mail.activedir.org] On Behalf Of Don Hacherl
>> Sent: Monday, November 03, 2008 11:50 AM
>> To: ActiveDir@mail.activedir.org
>> Subject: RE: [ActiveDir] Indexing
>>
>> I'd recommend indexing them and then NOT being done with it. Instead,
> turn
>> up the logging level for searching (as shown in
>> http://msdn.microsoft.com/en-us/library/ms808539.aspx), run your
> queries,
>> and then at the results to see which of your newly added indices were
>> actually used satisfying your queries.
>>
>> You're likely to find that indices on attributes with lots of unique
> values
>> (e.g., employeeID) are actually used, while indices on attributes with
> only
>> a few possible values (e.g., employeeType if that's just "full time"
> vs
>> "part time") are considered by the query processor but never used.
> You
> want
>> to keep the indices that the QP actually uses, and delete indices that
> are
>> not used.
>>
>> Don
>>
>> -----Original Message-----
>> From: ActiveDir-owner@mail.activedir.org
>> [mailto:ActiveDir-owner@mail.activedir.org] On Behalf Of Brian Desmond
>> Sent: Monday, November 03, 2008 9:06 AM
>> To: ActiveDir@mail.activedir.org
>> Subject: RE: [ActiveDir] Indexing
>>
>> I'd index them and be done with it. Exchange 2007 setup indexes the
>> extension attributes btw.
>>
>> Thanks,
>> Brian Desmond
>> brian@briandesmond.com
>>
>> c - 312.731.3132
>>
>>
>> -----Original Message-----
>> From: ActiveDir-owner@mail.activedir.org
>> [mailto:ActiveDir-owner@mail.activedir.org] On Behalf Of Matt Casey
>> Sent: Monday, November 03, 2008 10:30 AM
>> To: ActiveDir@mail.activedir.org
>> Subject: [ActiveDir] Indexing
>>
>> Hi All,
>> I am looking for feedback on indexing additional attributes in AD to
>> support an increased volume of LDAP queries. I am currently working
>> on several projects, including automated group management, that will
>> be leveraging data stored in user and group objects for various other
>> automated tasks. Some examples of attributes I currently use are;
>> employeeID, title, department, departmentNumber, employeeType, and a
>> few Exchange extensionAttributes.
>>
>> What are some common justifications to index or not to index? It
>> would also be interesting to know what issues people have run into
>> when indexing various attributes in AD. The dit in my environment is
>> not that large, ~500MB, and space it not really a concern at this
>> point. To my knowledge we run only the default indexes for
>> AD(win2k3)/Exchange(2k3)/possibly Cisco(unity).
>>
>> Thanks in advance!
>>
>> -matt
>> List info : http://www.activedir.org/List.aspx
>> List FAQ : http://www.activedir.org/ListFAQ.aspx
>> List archive: http://www.activedir.org/ma/default.aspx
>> List info : http://www.activedir.org/List.aspx
>> List FAQ : http://www.activedir.org/ListFAQ.aspx
>> List archive: http://www.activedir.org/ma/default.aspx
>>
>> List info : http://www.activedir.org/List.aspx
>> List FAQ : http://www.activedir.org/ListFAQ.aspx
>> List archive: http://www.activedir.org/ma/default.aspx
>> List info : http://www.activedir.org/List.aspx
>> List FAQ : http://www.activedir.org/ListFAQ.aspx
>> List archive: http://www.activedir.org/ma/default.aspx
>>
> List info : http://www.activedir.org/List.aspx
> List FAQ : http://www.activedir.org/ListFAQ.aspx
> List archive: http://www.activedir.org/ma/default.aspx
>
> List info : http://www.activedir.org/List.aspx
> List FAQ : http://www.activedir.org/ListFAQ.aspx
> List archive: http://www.activedir.org/ma/default.aspx
> Barclays Wealth is the wealth management division of Barclays Bank PLC. This email may relate to or be sent from other members of the Barclays Group.
>
> The availability of products and services may be limited by the applicable laws and regulations in certain jurisdictions. The Barclays Group does not normally accept or offer business instructions via internet email. Any action that you might take upon this message might be at your own risk.
>
> This email and any attachments are confidential and intended solely for the addressee and may also be privileged or exempt from disclosure under applicable law. If you are not the addressee, or have received this email in error, please notify the sender immediately, delete it from your system and do not copy, disclose or otherwise act upon any part of this email or its attachments.
>
> Internet communications are not guaranteed to be secure or without viruses. The Barclays Group does not accept responsibility for any loss arising from unauthorised access to, or interference with, any Internet communications by any third party, or from the transmission of any viruses. Replies to this email may be monitored by the Barclays Group for operational or business reasons.
>
> Any opinion or other information in this email or its attachments that does not relate to the business of the Barclays Group is personal to the sender and is not given or endorsed by the Barclays Group.
>
> Barclays Bank PLC. Registered in England and Wales (registered no. 1026167).
> Registered Office: 1 Churchill Place, London, E14 5HP, United Kingdom.
>
> Barclays Bank PLC is authorised and regulated by the Financial Services Authority.
> List info : http://www.activedir.org/List.aspx
> List FAQ : http://www.activedir.org/ListFAQ.aspx
> List archive: http://www.activedir.org/ma/default.aspx
>
List info : http://www.activedir.org/List.aspx
List FAQ : http://www.activedir.org/ListFAQ.aspx
List archive: http://www.activedir.org/ma/default.aspx
joeUser is Offline

Posts:106

11/04/2008 9:23 AM  
The other thing you can do that is helpful is to use a tool like ldp.exe or
adfind that supports the stats control. This allows you to execute your
searches with the tool and get feedback on index usage and other query
processor stats returned directly to the client.

The stats control does require admin access on the server to use though.

Joe K.

----- Original Message -----
From: "Matt Casey" <mcasey726@gmail.com>
To: <ActiveDir@mail.activedir.org>
Sent: Tuesday, November 04, 2008 7:07 AM
Subject: Re: [ActiveDir] Indexing


> Thanks again. I read through the articles you guys mentioned, I
> appreciate the info. I must admit that 'coward' sometimes comes to
> mind when i think about the change management review that comes before
> I make the change. Actually making the change in production is a
> little less of a concern :)
>
> In the meantime I will get another instance of ADAM going and see how
> much fun I can have with that. Thanks again!
>

List info : http://www.activedir.org/List.aspx
List FAQ : http://www.activedir.org/ListFAQ.aspx
List archive: http://www.activedir.org/ma/default.aspx
You are not authorized to post a reply.



ActiveForums 3.7
Friends

Friends

VisualClickButoton
Members

Members

MembershipMembership:
Latest New UserLatest:argofgarcia
New TodayNew Today:0
New YesterdayNew Yesterday:0
User CountOverall:5235

People OnlinePeople Online:
VisitorsVisitors:39
MembersMembers:0
TotalTotal:39

Online NowOnline Now:

Ads

Copyright 2009 ActiveDir.org
Terms Of Use