Compartir vía


Información general del escenario

En este tema se proporciona información general sobre las pruebas de carga completadas por el grupo de productos BizTalk Server para evaluar la escalabilidad de BizTalk Server al ejecutarse en hardware de clase empresarial moderno.

Todas las pruebas se realizaron en un entorno aislado mediante hardware dedicado. Se realizaron más de 200 ejecuciones de pruebas y el grupo de productos BizTalk Server validó todos los resultados.

Las pruebas se realizaron mediante un escenario de mensajería y un escenario de orquestación; ambos escenarios usaron el adaptador de WCF-NetTcp de BizTalk.

Para evaluar el rendimiento máximo posible del motor de BizTalk Server, no se usaron componentes de canalización personalizados y solo se usó una orquestación muy sencilla para el escenario de orquestación. Las optimizaciones de rendimiento descritas en Optimización del rendimiento se aplicaron al entorno y se documentan completamente en Observaciones y recomendaciones.

Objetivos de prueba

Los objetivos de las pruebas de carga realizadas incluyen lo siguiente:

  1. Proporcione instrucciones generales de ajuste de tamaño y escalado para BizTalk Server:

    1. Cuantifique el impacto de agregar equipos adicionales al grupo de BizTalk Server. Para esta prueba, el rendimiento de una solución de BizTalk Server se midió cuando el grupo de BizTalk Server estaba ejecutando uno, dos, tres y cuatro equipos que ejecutan BizTalk Server.

    2. Cuantifique el impacto de agregar bases de datos adicionales de Cuadro de mensajes de BizTalk a un grupo de BizTalk Server. Para esta prueba, el rendimiento de una solución de BizTalk Server se midió cuando el grupo se configuró para usar una base de datos única de Cuadro de mensajes o cuatro bases de datos de cuadro de mensajes.

      Nota

      No se realizaron pruebas con dos bases de datos de Cuadro de mensajes porque no hay ninguna ventaja de rendimiento al escalar de una a dos bases de datos de Cuadro de mensajes. De hecho, el escalado de una a dos bases de datos de Cuadro de mensajes puede afectar negativamente al rendimiento. Para obtener más información sobre el escalado horizontal del cuadro de mensajes, consulte Escalado horizontal del nivel de SQL Server.

  2. Proporcione instrucciones de ajuste de tamaño y escalado para los escenarios siguientes:

    1. WCF-NetTcp escenario de mensajería unidireccional

    2. WCF-NetTcp escenario de orquestación unidireccional

Medidas de prueba usadas

BizTalk Server rendimiento se midió con los siguientes criterios:

  1. Rendimiento general: medido con los contadores de rendimiento BizTalk:Messaging(hostname)\Documents received/Sec y BizTalk:Messaging(hostname)\Documents processed/Sec performance counters for the BizTalk Server receive and processing hosts.

  2. Uso de CPU: medido con los contadores de rendimiento \Processor(_Total)\%Processor Time en el BizTalk Server] y SQL Server equipos. Todos los resultados de las pruebas se revisaron exhaustivamente y los cuellos de botella de rendimiento se describen en Observaciones y recomendaciones.

Escalado horizontal del nivel de procesamiento y del nivel de base de datos

BizTalk Server admite fácilmente mayores funcionalidades de nivel de procesamiento agregando uno o varios equipos BizTalk Server a un grupo de BizTalk Server existente. BizTalk Server admite mayores funcionalidades de nivel de base de datos a través de la adición de bases de datos de Cuadro de mensajes.

Para proporcionar métricas de escalado horizontal para BizTalk Server, las pruebas se realizaron con uno, dos, tres y cuatro equipos de BizTalk Server. Para demostrar el impacto del escalado horizontal del nivel de base de datos, estas pruebas se realizaron en sistemas de cuadro de mensajes únicos y múltiples.

Escenarios de pruebas

El flujo de mensajes a través del entorno de BizTalk Server para estos escenarios se describe en detalle a continuación.

Escenario de prueba de mensajería

Mensajería de escenario

  1. La funcionalidad de pruebas de carga de la edición Ultimate de Visual Studio 2010 genera un mensaje XML y lo envía al equipo que ejecuta BizTalk Server con el transporte de NetTcp.

    Nota

    Para obtener más información sobre las pruebas de carga de la edición Ultimate de Visual Studio 2010, vea HYPERLINK "" Testing the Application (https://go.microsoft.com/fwlink/?LinkID=208247).

    Para obtener más información sobre cómo usamos la funcionalidad de pruebas de carga de la edición Ultimate de Visual Studio 2010 en nuestro entorno de prueba, consulte Uso de Visual Studio para facilitar las pruebas automatizadas.

  2. Un BizTalk Server ubicación de recepción recibe el mensaje XML que usa el adaptador de recepción WCF-NetTcp. La ubicación de recepción está configurada para usar la canalización PassThruReceive, que no realiza ningún procesamiento del mensaje.

  3. El administrador de puntos de conexión (EPM) BizTalk Server publica el mensaje en la base de datos de Cuadro de mensajes de BizTalk.

  4. Un puerto de envío BizTalk Server que usa el adaptador de envío de WCF-NetTcp se suscribe a los mensajes publicados por la ubicación de recepción y recupera el mensaje del Cuadro de mensajes de BizTalk. El puerto de envío usa la canalización PassThruTransmit, que no realiza ningún procesamiento del mensaje.

  5. El WCF-NetTcp adaptador de envío entrega el mensaje al servicio WCF de back-end.

Escenario de prueba de orquestación

Orquestación del escenario de

  1. La funcionalidad de pruebas de carga de la edición Ultimate de Visual Studio 2010 genera un mensaje XML y lo envía al equipo que ejecuta BizTalk Server mediante el transporte de NetTcp.

  2. Un puerto de recepción BizTalk Server recibe el mensaje XML que usa el adaptador de recepción WCF-NetTcp. El puerto de recepción está configurado para usar la canalización PassThruReceive, que no realiza ningún procesamiento del mensaje.

  3. El mensaje se entrega a una orquestación simple, que consta solo de un puerto de recepción (enlazado al puerto de recepción de WCF del paso 2) y un puerto de envío (enlazado al puerto de envío de WCF del paso 4). Las variables de mensaje son "sin escribir", lo que significa que usan un "Tipo de mensaje" de "System.XML. XmlDocument". La orquestación solo recibe el mensaje a través de su puerto de recepción y envía el mensaje a través de su puerto de envío. No se realiza ningún procesamiento de mensajes.

  4. Un puerto de envío unidireccional BizTalk Server que usa el adaptador de envío de WCF-NetTcp se suscribe a los mensajes publicados por la orquestación y recupera el mensaje del Cuadro de mensajes de BizTalk. El puerto de envío usa la canalización PassThruTransmit, que no realiza ningún procesamiento del mensaje.

  5. El WCF-NetTcp adaptador de envío entrega el mensaje al servicio WCF de back-end.

Configuración de hardware

Diagrama y especificaciones de hardware del laboratorio

A continuación se muestra la configuración de hardware que se usa para el laboratorio. Para adaptarse fácilmente al escalado horizontal de los niveles de procesamiento y base de datos, se usó el siguiente hardware de laboratorio:

  • Dos equipos De clase Enterprise Hewlett Packard DL-380 y dos equipos Dell R710 de clase Enterprise para el nivel de procesamiento BizTalk Server.

  • Cuatro equipos Dell R900 de clase Enterprise para el nivel de base de datos, para proporcionar funcionalidad multiMensaje.

    A continuación se proporciona un diagrama del hardware usado en el laboratorio:

    Performance Guide Infrastructure

    En la tabla siguiente se proporciona información más específica sobre el hardware usado en el laboratorio.

Nombre Modelo El tipo de CPU. Número de CPU Número de núcleos/CPU Arquitectura de CPU Memoria Sistema operativo Software
R710-01 Dell PowerEdge R710 Intel Xeon X5570 2 x 2,93 GHz 4 x64 72 GB Windows Server 2008 R2 Enterprise Edition BizTalk Server
R710-02 Dell PowerEdge R710 Intel Xeon X5570 2 x 2,93 GHz 4 x64 72 GB Windows Server 2008 R2 Enterprise Edition BizTalk Server
DL380G7-01 Hewlett Packard DL380 G7 Intel Xeon X5670 2 x 2,93 GHz 6 x64 192 GB Windows Server 2008 R2 Enterprise Edition BizTalk Server
DL380G7-02 Hewlett Packard DL380 G7 Intel Xeon X5670 2 x 2,93 GHz 6 x64 192 GB Windows Server 2008 R2 Enterprise Edition BizTalk Server
DL380-01 Hewlett Packard DL380 Intel Xeon 5150 2 x 2,66 GHz 2 x64 8 GB Windows Server 2008 R2 Enterprise Edition base de datos de prueba de carga de SQL Server 2008 R2

Visual Studio 2010

Servicio back-end de WCF
DL380-02 Hewlett Packard DL380 Intel Xeon E5335 2 x 2,00 GHz 4 x64 8 GB Windows Server 2008 R2 Enterprise Edition Visual Studio 2010 Load Test Controller
DL380-03 Hewlett Packard DL380 Intel Xeon E5335 2 x 2,00 GHz 4 x64 8 GB Windows Server 2008 R2 Enterprise Edition Agente de prueba de carga de Visual Studio 2010
DL380-04 Hewlett Packard DL380 Intel Xeon E5335 2 x 2,00 GHz 4 x64 8 GB Windows Server 2008 R2 Enterprise Edition Agente de prueba de carga de Visual Studio 2010.

Línea de comandos de Perfmon
R805-06 Dell PowerEdge R805 AMD Quad-Core Opteron 2354 2 x 2,2 GHz 4 x64 32 GB Windows Server 2008 R2 Enterprise Edition Agente de prueba de carga de Visual Studio 2010
R805-07 Dell PowerEdge R805 AMD Quad-Core Opteron 2354 2 x 2,2 GHz 4 x64 32 GB Windows Server 2008 R2 Enterprise Edition Agente de prueba de carga de Visual Studio 2010
R900-03 Dell PowerEdge R900 Intel Xeon E7330 4 x 2,4 GHz 4 x64 64 GB Windows Server 2008 R2 Enterprise Edition SQL Server 2008 R2 con la actualización acumulativa 4
R900-04 Dell PowerEdge R900 Intel Xeon E7330 4 x 2,4 GHz 4 x64 64 GB Windows Server 2008 R2 Enterprise Edition SQL Server 2008 R2 con la actualización acumulativa 4
R900-05 Dell PowerEdge R900 Intel Xeon E7330 4 x 2,4 GHz 4 x64 64 GB Windows Server 2008 R2 Enterprise Edition SQL Server 2008 R2 con la actualización acumulativa 4
R900-06 Dell PowerEdge R900 Intel Xeon E7330 4 x 2,4 GHz 4 x64 64 GB Windows Server 2008 R2 Enterprise Edition SQL Server 2008 R2 con la actualización acumulativa 4

Configuración de red del área de almacenamiento

En el diagrama siguiente se muestra la configuración de red de área de almacenamiento (SAN) usada para el entorno de laboratorio.

SAN information

Configuración san de CLARiiON CX4-960 de EMC

Información de caché y procesador de servicios Configuración de LUN
Dos procesadores de servicio, cada uno con:

- Tamaño de caché de lectura: 2000 MB.
- Tamaño de caché de escritura: 8000 MB.
- Dos puertos front-end conectados al conmutador de fibra. 4 Gbps por puerto.
- 64 discos (268 GB, 15 k RPM, Canal de fibra, Seagate.
- Ocho grupos RAID 1+0 de 8 discos tallados a partir de estos 64 discos.
- Cada servidor de base de datos se asignó a 5 MetaLUN configurados uniformemente a partir de estos grupos RAID.

Es importante determinar el rendimiento máximo alcanzable de una SAN y comparar este valor con la carga esperada con la SAN en producción. Esto ayudará a evitar gastos imprevistos para hardware relacionado con SAN al mover la aplicación de un entorno de control de calidad (QA) a un entorno de producción. Por ejemplo, el rendimiento máximo disponible para la SAN puede ser más que suficiente para la aplicación en un entorno de prueba de espacio aislado. Sin embargo, si otras aplicaciones de servidor usarán la SAN en producción, el rendimiento de SAN disponible puede ser insuficiente y podría convertirse en un cuello de botella.

Al evaluar el rendimiento de la SAN, tenga en cuenta lo siguiente:

  1. ¿Cuál es el rendimiento máximo alcanzable de la SAN? : se mide con el denominador común más bajo, en términos de rendimiento, del adaptador de bus host (HBA) en el servidor, el rendimiento Switch-SAN y la velocidad de las tarjetas de controlador de SAN.

  2. ¿Qué otras aplicaciones usarán la SAN en producción? – Tenga en cuenta qué otras aplicaciones usarán la SAN en el entorno de producción. Si otra base de datos o aplicaciones intensivas de E/S como Exchange Server usará la SAN en producción, la cantidad de rendimiento de SAN disponible para el equipo que ejecuta BizTalk Server se reducirá en consecuencia.

    Para el entorno de laboratorio, se usó una SAN dedicada. Cada uno de los cuatro equipos SQL Server se conectó al conmutador SAN con dos adaptadores de bus host (HBA) de 4 Gbps, lo que proporciona un rendimiento potencial total de 8 Gbps por servidor. La SAN tenía dos procesadores de servicio, y cada procesador de servicio tenía dos puertos front-end conectados al conmutador de fibra, lo que proporciona un rendimiento potencial total de 16 Gbps entre la SAN y el conmutador.

    La siguiente configuración de LUN se usó para cada uno de los cuatro equipos que ejecutan SQL Server en el entorno de prueba.

Letra de unidad Nombre del volumen Archivos Tamaño de LUN (GB)
C Unidad C local MASTER, MSDB y MODEL 136
H Data_Tempdb Archivos de datos de TempDB 50
I Logs_Tempdb Archivos de registro de TempDB 50
J Data_BtsMsgBox Archivos de datos msgBoxDB de BizTalk + (en el msgBox maestro) Mgmt DB, base de datos de SSO, archivos de datos de base de datos DTA 120
K Logs_BtsMsgBox Archivos de registro de MsgBoxDB de BizTalk + (en master MsgBox) Mgmt DB, base de datos de SSO, archivos de registro de base de datos DTA 120
O Logs_Spare No se usa para archivos SQL. Se usa para almacenar el archivo DTCLog, ya que MSDTC causa una E/S de disco frecuente, especialmente en un entorno de cuadro de mensajes múltiple. 20

Resultados de pruebas de SQLIO

Hemos usado la herramienta SQLIO para realizar pruebas comparativas y medir la capacidad de entrada y salida de la configuración de red de área de almacenamiento (SAN) usada en nuestro entorno de laboratorio. Como el nombre de la herramienta implica, SQLIO es una herramienta valiosa para medir el impacto de la E/S del sistema de archivos en SQL Server rendimiento.

Para medir la capacidad de entrada y salida de la configuración de red de área de almacenamiento (SAN) para SQL Server aplicaciones de base de datos, consulte Análisis de características de E/S y sistemas de almacenamiento de tamaño para SQL Server Aplicaciones de base de datos.

Para nuestra prueba de SQLIO, la utilidad sqlio.exe emite solicitudes de lectura de 8K de 8 subprocesos y mantiene una profundidad de cola de E/S de 8. Usamos los parámetros siguientes:

  • Todas las pruebas usaron 8 subprocesos de procesamiento, cada una en ejecución durante 60 segundos.

  • Escrituras aleatorias de 8 kb en los archivos de datos.

  • Lecturas aleatorias de 8 kb en los archivos de datos.

  • Todos los archivos tienen un tamaño de 25 GB.

  • Las unidades de disco que se van a comparar son la unidad H:, I:, J:y K.

Las líneas de comandos de SQLIO usadas son las siguientes:

  • Para lecturas: sqlio -kR -s60 -frandom -o8 -t8 -b8 -LS -FParam.txt

  • Para escrituras: sqlio -kW -s60 -frandom -o8 -t8 -b8 -LS -FParam.txt

El archivo Param.txt contiene lo siguiente:

  • Número de unidades: H:,I:,J:, y K

  • Ubicación física de los archivos de prueba:

    • H:\testfile.dat 2 0x0 25000

    • I:\testfile.dat 2 0x0 25000

    • J:\testfile.dat 2 0x0 25000

    • K:\testfile.dat 2 0x0 25000

En la tabla siguiente se enumeran los resultados de la prueba:

  • Lecturas aleatorias de 8 KB de 25 GB de archivos de prueba simultáneamente en LUNs H:, I:, J:, K: (los LUN usados para todos nuestros archivos de base de datos)

    Operaciones de entrada y salida por segundo (E/S) Megabytes por segundo (MB/s) Latencia media
    10662.67 83.30 5 ms
  • Escrituras aleatorias de 8 KB en archivos de prueba de 25 GB simultáneamente en LUNs H:, I:, J:, K: (los LUN usados para todos nuestros archivos de base de datos)

    Operaciones de entrada y salida por segundo (E/S) Megabytes por segundo (MB/s) Latencia media
    31527.95 246.31 1 ms

Consulte también

Escalado de un entorno de producción de BizTalk Server