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





















Nombre


Descripción

 

File Monitor


Monitoriza el numero de archivos creados en una carpeta


SQL Monitor


Monitoriza el numero de filas creadas en una base de datos SQL Server


MQSeries Monitor


Monitoriza el numero de mensajes en una cola MQ-Series


MSMQ Monitor


Monitoriza el numero de mensajes en una cola MSMQ


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

Skip to main content