Active Directory Query
-
Hi, I am writing an ASP.NET web application to run reports against our Active Directory. Eventually we expect to have 30000 users in our AD. In general, users will run reports with filters that will restrict data returned from the AD. However, it is possible that users will run reports that return information for all users in our AD. We are worried that the AD might be overloaded by running these LDAP queries. My question is, should I query the AD directly, or create a cache of all users (a DataSet) that is updated every few hours that I query instead? Ideally, I would query the AD directly. I ran a report directly against the AD that returned a few simple user properties for 20000 users and CPU usage on one of our two domain controllers increased to 25% for about 1 second. Any suggestions very welcome. I am not sure of the best way to proceed here. Thanks. -- modified at 5:28 Thursday 4th May, 2006
-
Hi, I am writing an ASP.NET web application to run reports against our Active Directory. Eventually we expect to have 30000 users in our AD. In general, users will run reports with filters that will restrict data returned from the AD. However, it is possible that users will run reports that return information for all users in our AD. We are worried that the AD might be overloaded by running these LDAP queries. My question is, should I query the AD directly, or create a cache of all users (a DataSet) that is updated every few hours that I query instead? Ideally, I would query the AD directly. I ran a report directly against the AD that returned a few simple user properties for 20000 users and CPU usage on one of our two domain controllers increased to 25% for about 1 second. Any suggestions very welcome. I am not sure of the best way to proceed here. Thanks. -- modified at 5:28 Thursday 4th May, 2006
Mike Puddephat wrote:
We are worried that the AD might be overloaded by running these LDAP queries. My question is, should I query the AD directly, or create a cache of all users (a DataSet) that is updated every few hours that I query instead?
In my opinion, I support you to use the dataset to cache all user information. This will reduce an overload to your server. But you have to make sure that all user information in your AD is change frequenctly or not. You should set an interval to update an information from your AD based an information of each user is updated on your server.
-
Mike Puddephat wrote:
We are worried that the AD might be overloaded by running these LDAP queries. My question is, should I query the AD directly, or create a cache of all users (a DataSet) that is updated every few hours that I query instead?
In my opinion, I support you to use the dataset to cache all user information. This will reduce an overload to your server. But you have to make sure that all user information in your AD is change frequenctly or not. You should set an interval to update an information from your AD based an information of each user is updated on your server.
Thanks for your reply! I guess I was hoping that I wouldn't have to use a cache, but I think (like you say) it is probably the best way to go.