Mejorar el rendimiento cuando se utiliza la detección automática de ExchangeImproving performance when using Autodiscover for Exchange

Este documento puede incluir contenido relacionado con funciones o productos preliminares que pueden cambiar mucho antes del lanzamiento comercial final. Este documento se proporciona "tal cual" solamente con fines informativos y Microsoft no realiza ninguna garantía, explícita ni implícita, en el documento. Obtenga información sobre maneras de mejorar el rendimiento del proceso de detección automática en la aplicación.Learn about ways to improve the performance of the Autodiscover process in your application.

Hay una gran cantidad de razones para como detección automática. Configuración de la aplicación para conectarse a Exchange sin intervención del usuario es excelente! Si está leyendo este artículo, probablemente ya sabe todas las razones para usar y disfrutan de detección automática, por lo que no se muestran aquí. En su lugar, vamos a hablar sobre una desventaja potencial: rendimiento.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.

Detección automática no es esencialmente un proceso lento, pero no es por sí rápido ya sea. El proceso de detección automática implica una gran cantidad de actividad de red y, a continuación, presenta una gran cantidad de retraso potencial. El proceso de detección automática tiene tres fases; las tres tienen el potencial de afectar al rendimiento: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:

  • Definición del grupo de candidatos de extremo de detección automática: para las aplicaciones que se ejecutan en equipos unidos a un dominio, esto puede incluir en las búsquedas de SCP, lo que implica comunicarse con los servicios de dominio de 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).

  • Intentar cada candidato: Esto requiere una solicitud o respuesta HTTP a cada extremo del candidato.Trying each candidate — This requires an HTTP request/response to each candidate endpoint.

  • Prueba de otras alternativas: cuando los candidatos en el grupo de candidatos de extremo de detección automática no producen resultados, puede realizar una solicitud GET no autenticada (solicitud/respuesta HTTP) y una búsqueda de 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.

En la superficie de esto es posible que no parecen demasiado. Sin embargo, imagine un escenario donde el grupo de candidatos de extremo de detección automática es más de uno o dos direcciones URL y no encuentra un trabajo uno hasta la última dirección URL en el grupo de servidores. El retraso puede ser un poco más significativa. Por lo tanto, ¿qué puede hacer?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?

Tenga en cuenta la necesidad de búsqueda de SCPConsider the need for SCP lookup

Cuando los objetos SCP están presentes y correctamente configurado, puede acelerar el proceso de detección automática. En otras situaciones, sin embargo, pueden ralentizarlo. Si SCP no se usa en el entorno, omita la parte de búsqueda de SCP completa del proceso de detección automática para ahorrar tiempo.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.

La API administrada de EWS facilita esta tarea: establezca la propiedad ExchangeService.EnableScpLookup a false antes de llamar al método ExchangeService.AutodiscoverUrl . Si está usando la clase AutodiscoverService , establezca la propiedad de AutodiscoverService.EnableScpLookup a false antes de llamar a cualquiera de sus métodos.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.

Usar detección automática menos a menudoUse Autodiscover less often

Detección automática no está diseñada para ser utilizada con frecuencia uso por aplicaciones. La intención detrás de detección automática es para que una aplicación de uso para conocer la información de configuración y, a continuación, la memoria caché que la información de un período de tiempo. Si no son el almacenamiento en caché de la información de configuración, considere la posibilidad de agregar el almacenamiento en caché de la aplicación para reducir el número de veces que se utiliza la detección automática.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.

Incluso si ya están en la caché, evaluar cuánto tiempo es almacenar en caché la información de configuración. Es el estándar para actualizar la información de detección automática cada 24 horas, pero es posible que pueda extender en ese momento. Debe probar con los entornos de destino y surgen con un "time-to-live" para la configuración que se adapte a sus necesidades.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.

Minimizar los datos solicitadosMinimize requested data

If you're using the AutodiscoverService class in the EWS Managed API, or the Operación GetUserSettings (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.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 usa el método ExchangeService.AutodiscoverUrl en la API administrada de EWS, no puede cambiar la configuración que se solicita. Sin embargo, este método ya es bastante eficaz; sólo se solicita la configuración de ExternalEwsUrl y InternalEwsUrl de la enumeración 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 usa el servicio de detección automática de POX, no puede solicitar propiedades específicas.If you're using the POX Autodiscover service, you cannot request specific properties.

Vea tambiénSee also