Amélioration des performances lors de l'utilisation de la fonctionnalité de découverte automatique pour ExchangeImproving performance when using Autodiscover for Exchange

Ce document peut contenir des informations liées aux fonctionnalités ou produits préliminaires qui sont sujettes à modifications avant la sortie de la version définitive. Ce document est fourni "tel quel" à titre indicatif et Microsoft exclut toute garantie, expresse ou implicite, en ce qui concerne ce document. Découvrez comment améliorer les performances du processus de découverte automatique dans votre application.Learn about ways to improve the performance of the Autodiscover process in your application.

Il existe un grand nombre de raisons telles que la découverte automatique. Configuration de votre application pour se connecter à Exchange sans intervention de l'utilisateur est parfait ! Si vous êtes en train de lire cet article, vous savez probablement déjà toutes les raisons d'utiliser et d'amour de découverte automatique, afin que nous ne les avez répertoriés ici. Au lieu de cela, nous allons parler à un inconvénient : performances.There are a lot of reasons to like Autodiscover. Configuring your application to connect to Exchange with no user intervention is great! If you're reading this article, you probably already know all the reasons to use and love Autodiscover, so we won't list them here. Instead, we're going to talk about a potential downside: performance.

Découverte automatique n'est pas fondamentalement un processus lent, mais il n'est pas fondamentalement fast soit. Le processus de découverte automatique implique un grand nombre d'activité réseau, et qui présente un grand nombre de risque de délais. Le processus de découverte automatique comprend trois phases ; les trois sont susceptibles d'affecter les performances :Autodiscover isn't inherently a slow process, but it's not inherently fast either. The Autodiscover process involves a lot of network activity, and that introduces a lot of potential for delays. The Autodiscover process has three phases; all three have the potential to affect performance:

  • Définition du pool de candidats de découverte automatique du point de terminaison — pour les applications qui s'exécutent sur des ordinateurs à un domaine, cela peut impliquer des recherches de SCP, ce qui implique la communication avec les Services de domaine Active Directory (AD DS).Defining the Autodiscover endpoint candidate pool — For applications running on domain-joined computers, this can involve SCP lookups, which involves communicating with Active Directory Domain Services (AD DS).

  • Vous essayez de chaque candidat — cela nécessite une demande/réponse HTTP à chaque point de terminaison du candidat.Trying each candidate — This requires an HTTP request/response to each candidate endpoint.

  • Test d'autres alternatives — lorsque les candidats dans votre pool de candidat de point de terminaison de découverte automatique ne pas produire des résultats, vous pouvez effectuer une demande GET non authentifiée (demande/réponse HTTP) et une recherche DNS.Trying other alternatives — When the candidates in your Autodiscover endpoint candidate pool don't produce results, you can do an unauthenticated GET request (HTTP request/response) and a DNS lookup.

Sur la surface cela ne semble pas beaucoup. Toutefois, imaginons un scénario où le pool de candidat de point de terminaison de découverte automatique est plus d'un ou deux URL, et vous ne trouvez pas une travail 1 jusqu'à ce que la dernière URL dans votre pool. Le délai peut devenir un peu plus évident. Par conséquent, quelles sont les possibilités ?On the surface this might not seem like much. However, imagine a scenario where the Autodiscover endpoint candidate pool is more than one or two URLs, and you don't find a working one until the last URL in your pool. The delay can become a bit more noticeable. So, what can you do?

Envisager la nécessité de recherche SCPConsider the need for SCP lookup

Lorsque les objets SCP sont présentes et correctement configurés, ils peuvent accélérer le processus de découverte automatique. Dans d'autres cas, toutefois, elles peuvent ralentir il. Si SCP n'est pas utilisée dans votre environnement, passez à la partie de recherche SCP entière du processus de découverte automatique pour économiser du temps.When SCP objects are present and configured well, they can speed up the Autodiscover process. In other situations, however, they can slow it down. If SCP isn't used in your environment, skip the entire SCP lookup portion of the Autodiscover process to save time.

L'API managée EWS facilite cette tâche : définissez simplement la propriété ExchangeService.EnableScpLookup à false avant d'appeler la méthode ExchangeService.AutodiscoverUrl . Si vous utilisez la classe AutodiscoverService , définissez la propriété AutodiscoverService.EnableScpLookup à false avant d'appeler une de ses méthodes.The EWS Managed API makes this easy: just set the ExchangeService.EnableScpLookup property to false before calling the ExchangeService.AutodiscoverUrl method. If you're using the AutodiscoverService class, set the AutodiscoverService.EnableScpLookup property to false before calling any of its methods.

Utiliser la découverte automatique moins souventUse Autodiscover less often

Découverte automatique n'est pas conçue pour être utilisée fréquemment utiliser par les applications. L'intention de découverte automatique est une application peut utiliser pour découvrir les informations de configuration, puis mettre en cache ces informations pendant une période de temps. Si vous n'êtes pas en cache les informations de configuration, songez à ajouter à votre application pour réduire le nombre de fois que vous utilisez la découverte automatique la mise en cache.Autodiscover isn't designed to be used frequently use by applications. The intent behind Autodiscover is for an application to use it to discover configuration information, and then cache that information for a period of time. If you aren't caching configuration information, consider adding caching to your application to reduce the number of times you use Autodiscover.

Même si vous mettez en cache déjà, évaluez la durée pendant laquelle vous mettez en cache les informations de configuration. La norme est pour Actualiser les informations de découverte automatique toutes les 24 heures, mais vous ne pourrez pas étendre ce moment-là. Vous devez tester avec vos environnements cibles et élaborer un « time-to-live » pour votre configuration fonctionne pour vous.Even if you are already caching, evaluate how long you cache configuration information. The standard is to refresh Autodiscover information every 24 hours, but you might be able to extend that time. You should test with your target environments and come up with a "time-to-live" for your configuration that works for you.

Réduire les données demandéesMinimize requested data

Si vous utilisez la classe AutodiscoverService dans l'API managée EWS, ou de l'opération Opération GetUserSettings (SOAP) via SOAP, vous disposez d'un contrôle direct sur les paramètres sont retournés dans la réponse. Bien que vous pouvez demander un certain paramètres, sans doute que votre application doit uniquement un petit nombre d'entre eux. Tous les paramètres que vous demandez nécessitent plus de traitement sur le serveur, ce qui signifie davantage de temps en attente d'une réponse. Évaluer les paramètres que vous demandez et d'éliminer celles que vous n'avez pas besoin.If you're using the AutodiscoverService class in the EWS Managed API, or the GetUserSettings operation (SOAP) operation via SOAP, you have direct control over what settings are returned in the response. Although you can request quite a few settings, chances are that your application only needs a handful of them. Every setting that you request requires more processing on the server, which means more time waiting for a response. Evaluate the settings you are requesting, and eliminate any that you don't need.

Si vous utilisez la méthode ExchangeService.AutodiscoverUrl dans l'API managée EWS, vous ne pouvez pas modifier les paramètres que vous demandez. Toutefois, cette méthode est déjà assez efficace ; il demande uniquement les paramètres ExternalEwsUrl et InternalEwsUrl à partir de l' énumération de UserSettingName.If you're using the ExchangeService.AutodiscoverUrl method in the EWS Managed API, you cannot change the settings you request. However, this method is already fairly efficient; it only requests the ExternalEwsUrl and InternalEwsUrl settings from the UserSettingName enumeration.

Si vous utilisez le service de découverte automatique POX, vous ne pouvez pas demander des propriétés spécifiques.If you're using the POX Autodiscover service, you cannot request specific properties.

Voir aussiSee also