Usando Load Generador (LoadGen) Parte I

Microsoft ha liberado recientemente una nueva versión de su herramienta Load Generator, esta versión requiere del Framework de .Net 2.0 para su ejecución. Pueden bajar esta herramienta desde BizTalk Server 2004 Load Generation Tool.

Conocida también como "LoadGen", esta herramienta permite hacer pruebas de estrés a nuestros procesos de BizTalk Server por medio del envió de mensajes en forma continua (limitado por tiempo o número de mensajes) a destinos predeterminados de BTS (Receive Locations), igualmente la herramienta provee un mecanismo que permitirá monitorear este envió (y recepción) de mensajería para determinar la optimización de nuestros proceso de EAI diseñados.

Para hacer posible la generación de mensajería, la definición del destino, y la monitorización de la mensajería LoadGen utiliza la información almacenada en un Xml de configuración que nosotros mismos definimos de acuerdo al escenario de prueba establecido

En su ejecución, LoadGen basa su arquitectura en 3 capas (ver imagen): Presentation, Framework y Component; a continuación se da una breve explicación de ellas.

 

Capa Presentation

Esta capa contiene la interfaz del programa. En LoadGen la interfaz se define como una aplicación de Consola, la cual al ser ejecutada recibe un parámetro de entrada que especifica la ruta del archivo Xml con la configuración de la ejecución de la plataforma.

Capa Framework

Esta capa es el "núcleo" de todo el LoadGen y esta representada en solamente una librería. Esta librería traduce el archivo Xml entregado por la capa Presentation y lo utiliza para inicializar todos los componentes necesarios para la generación de mensajes, envío de mensajería y monitorización.

Capa Component

Por último, la capa de componentes contiene todos los elementos necesarios para la generación de nuevos mensajes (Message Creators), envío de mensajes (Load Generators), y monitorización de mensajes (Throttle Controllers).

Este diseño permite que la capa Component pueda ser extendida creando nuevos elementos Load Generators, Message Creators y/o Throttle Controllers. Para extender estos componentes, LoadGen expone 4 interfaces: IMonitor, ITransport, IConfigurable y IMessageCreator.

  • IMonitor: interfaz utilizada para la creación de un nuevo componente de monitorización.
  • ITransport: interfaz utilizada para la creación de un nuevo componente de transporte el cual sera invocado en el envio de la mensajeria hacia el destino predeterminado.
  • IConfigurable: interfaz utilizada para la definición de la configuración del elemento de transporte.
  • IMessageCreator: interfaz utilizada para la creación de nuevos mensajes en forma personalizada.

LoadGen por defecto provee elementos que pueden ser utilizados para las pruebas de estrés, estos son:

**

Load Generators

Nombre

Descripción

File Transport

Almacena como archivos en el destino predeterminado.

HTTP Transport

Envía los mensajes a URL’s predeterminadas, soporta Request-Response y el envío de mensajes asíncronos.

SOAP Transport

Envía los mensajes a Servicios Web predeterminados previamente, soporta Request-Response y el envió de mensajes asíncronos.

MSMQ Transport

Envía mensajes a colas de mensajería MSMQ. Estas colas pueden ser privadas transaccionales o no.

MQ-Series Transport

Envía mensajes a colas de IBM-MQ Series.

WSE Transport

Envía mensajes a Servicios Web predeterminados que soporten WSE, soporta Request-Response y el envió de mensajes asíncronos.

WSS Transport

Envía mensajes a Windows SharePoint Services.

Throttle Controllers

 

Como se menciona anteriormente, la ejecución de LoadGen esta guiada por el archivo Xml que se pasa en la ejecución de LoadGenConsole.exe en la capa Presentation. Este archivo contiene dos secciones específicamente: <CommonSection /> y <Section />, la primera sección especifica los valores para todos los elementos utilizados como Load Generators, Message Creators y Throttle Controllers.

Por su parte la segunda sección contiene toda la configuración para los elementos Load Generator y en ocasiones puede sobrescribir la información de la sección <CommonSection />

Definir el archivo de configuración es fácil, para ello cuando se instala el LoadGen se escriben unos archivos Xml de configuración de ejemplo.

Nombre

Descripción

FileToFileLG.xml

Envia mensajes como archivos

HttpToHttpOneWayLG.xml

Envía mensajes por HTTP

HttpToHttpTwoWayLG.xml

Envia mensajes por HTTP en Request-Response

MQSeriesLG.Xml

Envía mensajes a colas MQ-Series

MsmqLG.Xml

Envía mensajes a colas MSMQ

SoapToSoapOneWayLG.xml

Envia mensajes SOAP a Servicios Web

SoapToSoapTwoWayLG.xml

Envía mensajes SOAP a Servicios Web en Request-Response

TwoWayLatencyLoopbackHTTPLG.Xml

Envia mensajes por HTTP y calcula su latencia

TwoWayLatencyLoopbackSOAPLG.Xml

Envia mensajes SOAP a Servicios Web y calcula su latencia

TwoWayLatencyLoopbackWSELG.Xml

Envia mensajes a Servicios Web con WSE y calcula su lantencia

WseToWseOneWayLG.xml

Envia mensajes usando WSE a Servicios Web

WseToWseTwoWayLG.xml

Envia mensajes usando WSE a Servicios Web en Request-Response

Esta es una corta descripción de las utilidades de LoadGen, así mismo este es el primer post (Parte I) de una serie de artículos acerca del uso de LoadGen, como desarrollar nuevos componentes y como utilizar al máximo este para probar todos nuestros procesos.


LoadGen

puede ser utilizado tanto probar los procesos en las versiones BizTalk Server 2004 y BizTalk Server 2006 Beta 2.

Autor: Carlos Medina

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no otorga ningún derecho