Descripción de la limitación de clientes

 

Se aplica a: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

Última modificación del tema: 2009-04-20

Con la versión de Microsoft Exchange Server 2007, los administradores disponen de una nueva función denominada Limitación de clientes RPC que les ayuda a administrar la experiencia de rendimiento del usuario final. La limitación de clientes RPC se ha incluido para evitar que las aplicaciones cliente envíen demasiadas operaciones RPC por segundo al servidor de Exchange, lo que podría reducir el rendimiento general del servidor. Entre estas aplicaciones de clientes se encuentran los motores de búsqueda que buscan en todos los objetos incluidos en el buzón de correo del usuario, aplicaciones personalizadas escritas para manipular datos ubicados en los buzones de correo de Exchange, productos de archivado de correo electrónico de alto nivel o buzones de correo habilitados para CRM con etiquetado automático de correo electrónico activado. La limitación de clientes permite a Exchange identificar y evitar la monopolización del servidor por parte de un pequeño número de usuarios. Cuando el servidor de Exchange identifique que un cliente está causando un efecto desproporcionado en el servidor, éste enviará una solicitud de "interrupción" al cliente para reducir su efecto en el rendimiento del servidor.

Nota

En Microsoft Exchange Server 2003, existía una clave del registro denominada “Deshabilitar procesos de cliente MAPI”, tal como se describe en Una característica está disponible para deshabilitar el acceso de programa MAPI a un equipo que ejecuta Exchange Server 2003. Esta clave del registro se podía activar para bloquear la conexión de algunos procesos al servicio Almacén de información. Esta clave del registro ya no se implementa en Exchange 2007 y se ha sustituido por este nuevo mecanismo de limitación de clientes RPC.

Funcionamiento de la limitación de clientes RPC

Si la latencia media de RPC en el servidor de Exchange 2007 es superior a lo normal, es posible que los usuarios del servidor de Exchange empiecen a experimentar una degradación del servicio apreciable. La latencia media de RPC debe mantenerse por debajo de 100 milisegundos con el fin de ofrecer una experiencia aceptable al usuario final.

La limitación de clientes RPC usa un método de cálculo basado en latencias medias de RPC generales y estadísticas de operación remota (ROP) para determinar si un cliente determinado comenzará a recibir solicitudes de interrupción para limitar el número de operaciones que puede realizar el cliente en el servidor. Este método calcula el retraso medio entre ROP (operaciones remotas) durante tres períodos de muestreo en un minuto determinado. Esta lógica emplea la media acumulada de la velocidad de ROP durante el último minuto. Una vez que se determina este valor, se compara con la latencia media general de RPC. Si este valor calculado es inferior a la latencia media general de RPC, se enviarán solicitudes de interrupción al cliente.

Importante

Los picos puntuales de ROPS altos por segundo no provocarán el envío de solicitudes de interrupción al cliente, siempre que la latencia media de RPC durante el último minuto sea baja.

Por ejemplo, si tiene una latencia de RPC de 25 milisegundos, un cliente con un comportamiento correcto puede enviar hasta 40 ROPS por segundo (40 x 25=1000 milisegundos) sin ninguna limitación. Si aumenta la latencia de RPC a 100 milisegundos y el cliente intenta enviar la misma cantidad de ROPS, el cliente empezaría a recibir solicitudes de interrupción desde el servidor. Desde este momento, el servidor sólo permitirá que el cliente envíe hasta 10 ROPS por segundo hasta que la siguiente muestra de latencia media de RPC vuelva a estar por debajo de 100 milisegundos.

La lógica de las solicitudes de interrupción tiene dos partes principales. La primera es cómo decide el servidor limitar al cliente y la segunda es la decisión de bloquear el acceso del cliente al servidor. Dentro del servicio Almacén de información, existe un registro de actividad del cliente que realiza un seguimiento de la actividad de cada usuario en un servidor determinado. El registro de actividad del cliente está asociado a una sesión MAPI de usuarios. Si el servidor toma la decisión de limitar un cliente, se agregará una solicitud de interrupción a la cola de interrupciones de sesión de la sesión MAPI del usuario. A continuación, esta información de interrupción se usará para determinar si la solicitud del cliente es aceptada o rechazada por el servidor. Si el usuario tiene varios buzones de correo abiertos para una sola sesión MAPI, esta información de interrupción se aplicará a todos los buzones de correo de esa sesión MAPI.

Dependiendo de la versión de Microsoft Office Outlook que se use, el servidor enviará información de interrupción diferente a la secuencia de respuesta de RPC del cliente.

  • Para clientes de Microsoft Office Outlook 2007, se agregará una solicitud ropBackoff a la cola de interrupciones del usuario. Esta solicitud contiene información relacionada con el retraso de interrupciones actual e indica al cliente que demore el envío de solicitudes adicionales al servidor durante un período de tiempo especificado. A continuación, el cliente intentará enviar solicitudes una vez que expire el período de tiempo especificado. El período de tiempo máximo para este retraso de interrupciones tiene una duración de 2.000 milisegundos, o dos segundos, que no se puede modificar.

    Nota

    Para que la experiencia del cliente sea óptima, se recomienda usar clientes de Outlook 2007 en un servidor de Exchange 2007.

    Nota

    ropBackoff es una nueva función de Outlook 2007 que no entienden los clientes anteriores de Outlook.

  • En Microsoft Office Outlook 2003 o versiones anteriores, se enviaba un código de estado de RPC_S_SERVER_TOO_BUSY. Este código de estado imita la respuesta que envían los servidores de Exchange 2003 a los clientes cuando se han agotado los subprocesos RPC del Almacén de información. Las versiones anteriores estaban diseñadas para capturar esta excepción y esperar un período de tiempo antes de volver a intentar la llamada, de acuerdo con lo especificado en la respuesta del servidor al cliente. El tiempo predeterminado de este retraso es de un segundo. Si el cliente intenta enviar la solicitud cada segundo durante un minuto y sigue recibiendo la misma excepción en cada ocasión, abandonará y desconectará la sesión del servidor de Exchange.

Supervisión de las condiciones para un número elevado de operaciones RPC por segundo

Para detectar cuándo se está efectuando la interrupción de clientes, se puede supervisar el contador de rendimiento “MSExchangeIS\Interrupciones cliente RPC/seg” en los servidores de Exchange que tengan instalada la función del servidor Buzón de correo con el fin de determinar la tasa de solicitudes de interrupción producidas.

Contador Valores esperados de Outlook 2007 Valores esperados de Outlook 2003 y versiones anteriores

MSExchangeIS\Cliente RPC/seg

Tasa de notificaciones de interrupción del servidor al cliente.

50 por cliente

1 por cliente

En los clientes de Outlook 2007 que se estén limitando, se puede esperar que el contador “MSExchangeIS\Interrupciones cliente RPC/seg” muestre aproximadamente 50 interrupciones por segundo para cada cliente. En Outlook 2003 y versiones anteriores, se debería esperar como máximo una interrupción por segundo para cada cliente. La diferencia en las velocidades esperadas se debe a la granularidad del método de interrupción que se usa para los clientes correspondientes. El período de interrupción mínimo para Outlook 2003 es de un segundo, mientras que el período de interrupción mínimo para Outlook 2007 es de un milisegundo.

Cuando se envía información de interrupción al cliente, los datos contienen dos partes. La primera parte es el momento en que se insertó la interrupción. La segunda parte es la duración del período de interrupción. La duración del período de interrupción se calcula de acuerdo con la fórmula siguiente: (MSExchangeIS\Promedio de latencia de RPC x factor de limitación de RPC)/1000. De forma predeterminada, el factor de limitación de RPC es un valor de 1000. Esto significa que el período de interrupción es exactamente igual al valor de latencia media de RPC. El valor de interrupción que envía el servidor al cliente es el número de milisegundos que transcurre hasta que expira el período de interrupción. Si el cliente envía otra operación al servidor antes de que expire el período de interrupción especificado, el servidor devolverá otro ropBackoff con un valor de retraso actualizado. Esto seguirá ocurriendo hasta que expire el período de interrupción y se quite el ropBackoff de la cola de interrupciones del usuario. En el gráfico siguiente se puede ver un ejemplo de la apariencia en el monitor de rendimiento:

Interrupción cliente RPC del Monitor de rendimiento

Ajuste de las condiciones para un número elevado de operaciones RPC por segundo

En los servidores de Exchange que tengan instalada la función del servidor Buzón de correo, existe una clave del Registro disponible para ayudarle a ajustar el cálculo de la limitación. Esta clave del Registro se denomina Factor de limitación de RPC y se encuentra ubicada en la clave HKLM\System\CurrentControlSet\Services\MSExchangeIS\ParametersSystem.

Nota

Este valor no está configurado de forma predeterminada y se debe agregar como un valor DWORD a la clave mencionada anteriormente.

[HKLM\System\CurrentControlSet\Services\MSExchangeIS\ParametersSystem]

Factor de limitación de RPC

DWORD: puede tener un valor comprendido entre 0 y 5000

Para mostrar cómo funciona la modificación del factor de limitación de RPC, piense en una situación en la que desee configurar el servidor para interrumpir clientes durante un período de tiempo superior como, por ejemplo, 2 x Promedio de latencia de RPC. Puede hacerlo mediante la configuración del factor de limitación de RPC con un valor de 2.000. De este modo se incrementa el período de interrupción de cada sesión MAPI en un factor de dos. En este caso, si la latencia media de RPC era de 50 milisegundos, un factor de limitación de 2.000 (50 ms x 2.000/1.000) será igual a 100 milisegundos. Cada solicitud de interrupción se ampliará a 100 milisegundos en lugar de los 50 milisegundos predeterminados y, de este modo, se retrasarán las solicitudes adicionales del cliente MAPI al servidor a 100 milisegundos. Este cambio de configuración puede parecer para el cliente que el rendimiento del servidor es más lento. Sin embargo, si este cliente sufre un efecto negativo en el rendimiento general del servidor, se minimizará el uso de recursos que haga este cliente del servidor de Exchange. De este modo, mejorará el rendimiento percibido del servidor para todos los demás usuarios del servidor.

Importante

Si este problema se produjera para varios o todos los clientes del servidor, se debería realizar una investigación del servidor para detectar posibles cuellos de botella.

Para que la experiencia con este mecanismo de limitación sea óptima, se recomienda Outlook 2007 y Exchange 2007 como mínimo.

Puede deshabilitar la limitación mediante la selección de un valor de limitación de 0.

Importante

No se recomienda deshabilitar la limitación de clientes en el almacén de información. Si se lleva a cabo este cambio se podría degradar el rendimiento de los clientes que no funcionen debidamente en cualquier servidor.

Si cree que puede deshabilitar la limitación de clientes, le recomendamos que antes determine la causa de la reducción del rendimiento del servidor. En la mayoría de los casos, si se identifica y se resuelve la causa, se elimina la necesidad de que el servidor envíe solicitudes de interrupción a los clientes.

Para obtener más información

Para obtener más información acerca de cómo solucionar los programas de lentitud de procedimientos de solicitudes RPC, consulte Solución de problemas relacionados con el procesamiento lento de solicitudes RPC.

Para obtener información acerca de cómo habilitar la supervisión de clientes, consulte Habilitación de la supervisión del lado cliente.