ADM: Back Pressure & Transport Queue

Print Friendly, PDF & Email

Back Pressure in Exchange 2010

Exchange 2007/2010 tiene un recurso de monitorización llamado back pressure. El Back Pressure nos ayuda a proteger el Exchange impidiendo que se quede NO DISPONIBLE, debido a la falta de recursos (espacio en disco y memoria).

Si se alcanza el estado de Back Pressure, Exchange rechazaría conexiones entrantes para evitar quedarse colgado.

Como está diseñado para proteger Transport Servers, se haya tanto en HUB TRANSPORT como EDGE TRANSPORT. Si nos encontramos con este error, indica BackPressure


Back Pressure Levels

Hay 3 niveles de back pressure. El Back Pressure hace referencia al espacio de disco y uso de memoria

  • Normal: Todo trabaja bien. son condiciones operativas normales de recursos como espacio en disco, memoria
  • Medium: Los mails internos funcionaran mientras que los mails que vienen del exterior se rechazan. la utilización de estos recursos es sobre-usada, pero todavía puede trabajar
  • High: El servidor no acepta ninguna conexión. Los recursos de espacio y/o memoria se están usando de forma muy agobiantes

Back Pressure and Disk Space Utilization

Uno de los problemas que atrapan al administrador, es la falta de espacio en disco, aunque con productos como SCOM lo podemos monitorizar

Back Pressure monitorizara la utilización del espacio en disco en las particiones que tiene la “queue database” y la “Queue database transaction log“.

Por defecto estas colas se hallan en:


c:\ Program Files\Microsoft\Exchange Server\V14\TransportRoles\data\Queue


Exchange 2010 monitoriza el espacio en disco de estas colas de manera separada y usando diferentes métodos de calculo

QUEUE DATABASE

para calcular el umbral de normal, médium, high de uso espacio en disco del Transport Server Queue Database, Exchange primero determina el umbral HIGH como un porcentaje de disco libre en el disco duro que almacena la Database Queue. Una vez determinado el HIGH threshold, se calcula el MEDIUM y NORMAL

 

Esta es la fórmula del umbral HIGH

Free space percentage = 100 *(disk size – 500MB) / disk size

  • Disk Size: Por ejemplo si el disco duro en donde está la Database Queue es de 20 GB
  • 500 MB: Un valor fijo establecido por Exchange para el cálculo (en 2007 RTM era de 4 GBy en 2007 Sp1 era de 500 MB)

El resultado de la fórmula para un disco de 20 GB será de: (20GB – 500MB) / 20GB = 0.975 *100 =97.5%

El resultado se redondea hacia abajo, es decir, se queda en 97 %, por lo que el umbral HIGH de Back Pressure de la cola de la base de datos es cuando el disco esta utilizado al 97 %

Una vez determinado el umbral HIGH, los otros dos umbrales serian

  • Medium – establecido a un 2% más bajo que el HIGH Level, por lo tanto seria el 95% de uso del disco
  • Normal – establecido a un 4% más bajo que el HIGH Level, por lo tanto seria el 93% de uso del disco

Por lo que en este ejemplo la Queue database está alojada en una partición de 20 Gb podemos saber que la configuración de back pressure para el disco es la siguiente

  • High – 19.4GB (97% de 20 Gb) (no aceptara ninguna conexión)
  • Medium – 19GB (95% de 20 Gb) (empezara a rechazar mensajes externos)
  • Normal – 18.6GB
    (93% de 20 Gb)

Medium

  • Reject incoming messages from non-Exchange servers
  • Reject message submissions from Pickup and Replay directories

High

  • Reject incoming messages from other Exchange servers
  • Reject message submissions from mailbox databases by the Mailbox Transport Submission service on Mailbox servers
  • Reject incoming messages from non-Exchange servers
  • Reject message submissions from Pickup and Replay directories

 

 

QUEUE DATABASE TRANSATION LOG

La fórmula que usa exchange para calcular el Back Pressure de la Queue Database Transaction log es más complicada

Debemos entender que el valor del parámetro DatabaseCheckPointDepthMax
del fichero EdgeTransport.exe.config se usa para esta fórmula. Por defecto el valor es de 512 Mb


DatabaseCheckPointDepthMax parámetro controla el tamaño permitido de todos los Transaction logs uncommited que existen en el disco duro. Un nivel muy bajo puede dar problemas de rendimiento ya que a las transacciones no confirmadas (uncommited) se les obliga a confirmarse en vez de escribirse en el transaction log. No es recomendado modificar el parámetro

Más información en: Understanding Transport Database Configuration Options

Para determinar el umbral HIGH de la queue database transaction logs, usa una cifra de 3 x DatabaseCheckPointDepthMax hasta un máximo de 5 Gb

Free space percentage = (disk size – {3 x DatabaseCheckPointDepthMax}) / disk size

Por ejemplo, si el valor de DatabaseCheckPointDepthMax es de 512 MB à 3 x 512MB = 1536MB y si nuestro disco es de 20 Gb

Free space percentage = (20GB – 1536MB) / 20GB = 0.923 or 92.3%

Como anteriormente, la cifra se redondea hacia abajo, lo que significa que el umbral HIGH está establecido en 92 % de uso del disco

Una vez determinado el umbral HIGH, los otros dos umbrales serian

  • Medium – establecido a un 2% más bajo que el HIGH Level, por lo tanto seria el 95% de uso del disco
  • Normal – establecido a un 4% más bajo que el HIGH Level, por lo tanto seria el 93% de uso del disco

Por lo que en este ejemplo la Queue database Transaction Log está alojada en una partición de 20 Gb podemos saber que la configuración de back pressure para el disco es la siguiente

  • High – 18.4GB (92% de 20 Gb)
  • Medium – 18GB (90% de 20 Gb)
  • Normal – 17.6GB (88% de 20 Gb)

 

Medium

  • Reject incoming messages from non-Exchange server
  • Reject message submissions from Pickup and Replay directories

High

  • Reject incoming messages from other Exchange servers
  • Reject message submissions from mailbox databases by the Mailbox Transport Submission service on Mailbox server
  • Reject incoming messages from non-Exchange servers.
  • Reject message submissions from Pickup and Replay directories

 

 

Back Pressure and Memory Utilization

Hay dos áreas en lo que se refiere al Back Pressure y la memoria:

  • Memoria usada por el proceso EdgeTransport.exe (archivo usado por el servicio Microsoft Exchange Transport service)
  • Memoria usada por el resto de los procesos del servidor

Calculo memoria para edgeTransport.exe

Para calcular los umbrales de uso memoria HIGH, MEDIUM y NORMAL por el EdgeTransportService, Exchange determina el nivel más alto como un porcentaje de toda la memoria física. Y después establece los niveles MEDIUM y NORMAL

El umbral HIGH es establecido en el uso del 75 % del total de la memoria física, salvo que el proceso EdgeTransport.exe alcance 1 TB de uso, en el cual el umbral se dispara automáticamente

El un servidor de 8 GB, si el proceso EdgeTransport.exe alcanza 6 Gb de memoria salta el umbral HIGH

Una vez determinado el umbral HIGH, los otros dos umbrales serian

  • Medium – establecido a un 2% más bajo que el HIGH level, por lo tanto seria el 73% de uso de memoria por el proceso
  • Normal – establecido a un 4% más bajo que el HIGH level, por lo tanto seria el 71% de uso de memoria por el proceso

Para un equipo de 6 Gb seria

  • High – 6 GB (75% de 8 GB RAM)
  • Medium – 5,84 GB (73% de 8 Gb RAM)
  • Normal – 5,76 GB (71% de 8 Gb RAM)


Si se invoca al back pressure por falta de memoria, lo que se hace es intenatr reclamar más memoria no utilizada antes de empezar a rechazar mensajes

Calculo memoria para el resto de los procesos

Para la memoria usada por el resto de los procesos, exchange 2010 establece el HIGH back pressure en el 94% del total de la memoria fisica, (92 Y 90 para los otros) y si se llega a invocar el back pressuere, se lanza una configuración conocida como “message dehydration” el cual intenta forzar al mensaje a ser re-leido desde la Queue Database en vez de la memoria

Memory used by EdgeTransport.exe process

  • Medium
  • Reject incoming messages from non-Exchange servers
  • Reject message submissions from Pickup and Replay directories
  • Force garbage collection

Memory used by EdgeTransport.exe process

  • High
  • Reject incoming messages from other Exchange servers
  • Reject message submissions from mailbox databases by the Mailbox Transport Submission service on Mailbox servers
  • Reject incoming messages from non-Exchange servers
  • Reject message submissions from Pickup and Replay directories

Memory used by all processes

  • Medium
  • Reject incoming messages from non-Exchange servers
  • Reject message submissions from Pickup and Replay directories
  • Force garbage collection

Memory used by all processes

  • High
  • Reject incoming messages from other Exchange servers
  • Reject message submissions from mailbox databases by the Mailbox Transport Submission service on Mailbox servers
  • Reject incoming messages from non-Exchange servers
  • Reject message submissions from Pickup and Replay directories
  • Flush enhanced DNS cache from memory
  • Start message dehydration

 

 

Cambiar ubicación de las Queue

Lo ideal es cambiar la localización de la Queue database y Queue database Transaction log. Para ello lo podemos hacer de forma manual modificando el path del fichero que contiene la informacion

C:\Program Files\Microsoft\Exchange Server\V14\Bin\EdgeTransport.exe.config


Podremos la nueva ruta de los parámetros QueueDatabasePath y QueueDatabaseLoggingPath


Movimiento Queue Database

Cambio manual

  1. Detenemos el servicio de transporte: Stop-Service MSExchangeTransport
  2. Copie los archivos Mail.que y Trn.chk desde la ubicación original a la nueva ubicación.
  3. Iniciar el servicio de transporte: Start-Service MSExchangeTransport
  4. Quite los archivos Mail.que y Trn.chk de su ubicación original.

Cambio por script

Podemos usar un script, para evitar tocar este fichero de configuración y modificar otros valores. También podemos cambiar el log queue

 C:\Program Files\Microsoft\Exchange Server\V14\scripts\ Move-TransportDatabase.ps1

  • Move-TransportDatabase.ps1 -QueueDatabasePath “newpath” –QueueDatabaseLoggingPath “newpath”

 


 

 

Se Habra movido la Queue database


 

Back Pressure in Exchange 2010 (Part 2)

Introduction

In part one of this two-part article on the back pressure feature in Exchange Server 2010, we covered the calculations that Exchange uses to determine the high, medium and normal back pressure levels for disk utilization. Here in part two we’ll look at how a breach of these levels will look as far as the Event Viewer is concerned as well as covering how things look when trying to telnet to a transport server to manually submit a new SMTP message. We will then finish by looking at the back pressure settings for memory utilization.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Event Viewer

Los eventos de backpressure son logados en el visor de eventos en Aplicaciones. Estos son los eventos típicos que pueden ocurrir:


 

  • Event ID 15004 cuyo origen es el MSExchangeTransport que pasa el Back Pressure de Normal a High


Vemos que esta la sección de Queue Database y Queue Database Transaction log, vemos que el disco esta tiene un umbral de MEDIUM, pero el disco la cola del log de transacciones está al 96 % de espacio usado, cuando su umbral era de 92 %, que es el que ha disparado el evento

Si seguimos bajando, vemos que el Hub Transport ya no acepta mensajes de otros Hub Transport, ni de internet, ni mailboxes, ni tampoco entregara mensajes a Remote Domains


Con el Back Pressure full aplicado no podremos enviar mensajes al Hub Transport. Aquí vemos que ni nos intentamos conectar por telnet al Hub Transport, al hacer un MAIL FROM manualmente nos dice que el servicio no está disponible, de ahí que nos aparezca el mensaje: 4.3.2 Service not available status message.


Si hubiera estado bien, nos saldria


Figure 2-3: Service Not Available Status Message

También veríamos el error en el SMTP protocol log si lo tuviéramos habilitado


  • Event ID 15005: Indica que el nivel de back pressure a sido movido de Medium a High


 

  • Event ID 15006: Mientras que el ID 15004 refiere a mover de un nivel de Back Pressure a otro, el ID 15006 muestra si la incidencia es asociada a la falta de espacio en disco (el 15007 es de memoria). El mensaje es claro “Microsoft Exchange Transport is rejecting message submissions because the available disk space has dropped below the configured threshold


 

 

 

PERSONALIZAR EDGE TRANSPORT CONFIG

Más información en: http://technet.microsoft.com/en-us/library/bb201658.aspx#File

Aparte de los umbrales que los define automáticamente, podemos definir nosotros el % de umbral para lanzar el Back Pressure

  • EnableResourceMonitoring: habilita el Back Pressure
  • Resource monitor Interval: cada cuanto tiempo chequea si hay back Pressure
  • PercentageDatabaseDiskSpaceUsedHighThreshold: indica que se usara la formula por defecto
  • PercentageDatabaseDiskSpaceUsedMediumThreshold: indica que se usara un 2% menos que el HIGH
  • PercentageDatabaseDiskSpaceUsedNormalThreshold: Indica que se usara un 2% menos de el Medium

     


 

Another option is to use Perfmon to monitor the aggregate delivery queue on each of your Transport servers in real time.

 


Aggregate Delivery Queues on Transport Servers (Nothing to see here)

Be the first to comment

Leave a Reply