Compartir vía


Observaciones y recomendaciones

Resumen de resultados de pruebas

Se observaron que los resultados del escenario de solo mensajería eran ~ 109 382 400 mensajes al día. En el escenario de orquestación, los resultados indican que un único equipo que ejecuta BizTalk Server puede procesar hasta 58 752 000 mensajes al día. Estos resultados se lograron en un entorno de espacio aislado mediante hardware normal de clase empresarial implementado para muchas soluciones de BizTalk Server. Por lo tanto, estos resultados indican el tipo de BizTalk Server rendimiento de que se puede lograr sin código personalizado. Las soluciones de cliente suelen implicar artefactos de BizTalk desarrollados personalizados; en muchos casos, esto aumenta los requisitos de procesamiento que a su vez afectan al rendimiento. Siguiendo los consejos presentados en esta guía, especialmente la sección Optimización de BizTalk Server Aplicaciones, se puede minimizar el impacto de implementar artefactos de BizTalk Server desarrollados personalizados.

En la tabla siguiente se proporciona un resumen de los resultados de la prueba para esta evaluación de rendimiento.

Escenario Mensajería (KPI de BizTalk: documentos procesados por segundo) Mensajería (KPI de SQL: uso del procesador DE SQL) Latencia de mensajería (segundos) Orquestación (KPI de BizTalk: documentos procesados por segundo) Orquestación (KPI de SQL: uso del procesador de SQL) Latencia de orquestación (segundos)
Equipo de BizTalk Server cuadro de mensajes único 1266 documentos procesados por segundo Uso de CPU de SQL del 59 % 0,06 680 documentos procesados por segundo Uso de CPU de SQL del 66,5 % 0.067
Equipos BizTalk Server cuadro de mensajes únicos 1267 documentos procesados por segundo Uso de CPU de SQL del 59,8 % 0,057 686 documentos procesados por segundo Uso de CPU de SQL del 68,5 % 0.067
3 Cuadro de mensajes 1 BizTalk Server equipos 2102 documentos procesados por segundo Uso de CPU de SQL del 41 % 0,077 974 documentos procesados por segundo Uso de CPU de SQL del 48 % 0,11
3 Cuadro de mensajes 2 BizTalk Server equipos 2285 documentos procesados por segundo Uso de CPU de SQL del 58 % 0.041 1065 documentos procesados por segundo Uso de CPU de SQL del 65 % 0..69
4 Cuadros de mensaje 1 BizTalk Server equipos 2125 documentos procesados por segundo Uso de CPU de SQL del 30 % 0.078 979 documentos procesados por segundo Uso de CPU de SQL del 37 % 0.095
4 Cuadros de mensajes 2 BizTalk Server equipos 2790 documentos procesados por segundo Uso de CPU de SQL del 50 % 0,052 1487 documentos procesados por segundo Uso de CPU de SQL del 63 % 0,15
4 Cuadros de mensaje 3 BizTalk Server equipos 2656 documentos procesados por segundo Uso de CPU de SQL del 58 % 0,074 1388 documentos procesados por segundo Uso de CPU de SQL del 65 % 0,15

Comparación de estadísticas de rendimiento con BizTalk Server 2009

En la tabla siguiente se muestra una comparación de las estadísticas de rendimiento entre BizTalk Server 2009 y BizTalk Server 2010. Las estadísticas de rendimiento de BizTalk Server 2009 enumeradas en esta tabla proceden de la Guía de optimización y rendimiento de BizTalk Server 2009.

Escenario BizTalk Server 2009
Máximo rendimiento sostenible (MST) msgs/s
BizTalk Server 2009
Número de servidores de BizTalk necesarios
BizTalk Server 2010
Máximo rendimiento sostenible (MST) msgs/s
BizTalk Server 2010
Número de servidores de BizTalk necesarios
BizTalk Server diferencia del 2010 % de BizTalk Server 2009
Mensajería: cuadro de mensajes único 1291 2 1266 1 98.06%
Orquestación: cuadro de mensajes único 676 2 680 1 100.59%
Mensajería: 3 cuadros de mensaje 2103 3 2285 2 (2102/s con 1 BTS) 108.65%
Mensajería: 4 cuadros de mensajes No aplicable No aplicable 2790 2 No aplicable
Orquestación: 3 cuadros de mensajes 1005 4 1065 2 (974/s con 1 BTS) 105.97%
Orquestación: 4 cuadros de mensajes No aplicable No aplicable 1487 2 No aplicable

En nuestro entorno de laboratorio, al usar cuatro bases de datos messageBox, los resultados de rendimiento máximo sostenible fueron los siguientes:

  • En el escenario de mensajería, 2790 documentos por segundo.

  • En el escenario de orquestación, 1487 documentos por segundo.

    Consideraciones sobre mensajes Aunque BizTalk Server no impone ninguna restricción en el tamaño del mensaje, las pruebas que ejecutamos para BizTalk Server 2010 solo usaban mensajes de 2 KB y el tipo de adaptador de WCF usado era WCF-NetTCP adaptador. Esto coincide con el tamaño del mensaje y el tipo de adaptador usados en las pruebas de la guía de optimización de rendimiento de BizTalk Server 2009.

    Los controladores para la mejora del rendimiento son:

  1. Avances en hardware: los equipos SQL Server usados en nuestro laboratorio eran de 4 CPU, cuatro núcleos (16 núcleos), Intel Xeon E7330 a 2,40 GHz. En las pruebas de 2009, se usaron 4 CPU, cuatro núcleos (16 núcleos), Intel Xeon 2,4 GHz.

    Los equipos BizTalk Server usados en nuestro laboratorio eran de 2 CPU, cuatro núcleos (8 núcleos), Nehalem Hyper-Threaded (16 núcleos lógicos), Intel Xeon X5570 a 2,93 GHz. En las pruebas de 2009, se usaron 2 NÚCLEOs, cuatro núcleos (8 núcleos), Intel Xeon 2,33 GHz.

  2. Mejora del motor de SQL Server: las pruebas de 2009 se realizaron en SQL Server 2008, mientras que nuestras pruebas se realizaron con SQL Server 2008 R2 como plataforma de base de datos subyacente.

Recomendaciones para escalar los niveles de BizTalk Server y SQL Server

Con estos resultados, el equipo de productos de BizTalk Server pudo demostrar que un solo equipo BizTalk Server y un único equipo SQL Server puede admitir más de 109 millones de mensajes en un escenario de mensajería y 58 millones de orquestaciones durante un período de 24 horas. Al escalar los niveles de BizTalk Server y SQL a la configuración óptima disponible en nuestro entorno, pudimos procesar más de 241 millones de mensajes al día y más de 128 millones de orquestaciones. Los resultados se realizaron en un entorno de espacio aislado mediante la clase de hardware implementado en muchas empresas. Como se indicó anteriormente, estos números representan un rendimiento realista de BizTalk Server que se puede lograr sin código personalizado ni un entorno optimizado. Con hardware adicional, es posible que se haya logrado un rendimiento aún mayor. Las soluciones de cliente suelen implicar artefactos de BizTalk desarrollados personalizados que incurren en requisitos de procesamiento adicionales, lo que aumenta el uso de recursos y, a su vez, reduce el rendimiento general. Sin embargo, siguiendo los consejos descritos a lo largo de la guía, especialmente las recomendaciones de Optimización de aplicaciones BizTalk Server, se puede minimizar el impacto de esto.

Los resultados muestran que el escalado horizontal del número de equipos de BizTalk Server es una estrategia de escalado horizontal eficaz si el cuadro de mensajes SQL Server equipo no es un cuello de botella. Después de un cierto punto, nuestros resultados indican que agregar BizTalk Server equipos se convierte en una técnica de escalado horizontal ineficaz porque hemos observado que se produjo un punto de contención en las tablas compartidas dentro de la base de datos messageBox, lo que provocó que el rendimiento disminuya. Para maximizar los resultados que se pueden obtener de un grupo de BizTalk Server con una base de datos de cuadro de mensajes única, debe aplicar las optimizaciones descritas en Optimización del rendimiento de la base de datos. En concreto, debe asegurarse de que se usa un subsistema de almacenamiento rápido para el almacenamiento SQL Server y que los discos lógicos usados por SQL Server para almacenar los archivos de base de datos de Cuadro de mensajes responden en el menor tiempo posible. Un umbral de uso frecuente para medir el rendimiento aceptable de lectura y escritura es de 15 milisegundos; Normalmente, esto se mide mediante los contadores Avg. Disk sec/Read y Avg. Disk sec/Write que se pueden encontrar en el objeto de rendimiento Disco lógico. Una vez que se han aplicado todas las optimizaciones disponibles al equipo SQL Server que hospeda la base de datos messageBox, se pueden agregar bases de datos de cuadro de mensajes adicionales. Las mismas técnicas de optimización que se aplicaron a la base de datos principal del cuadro de mensajes también deben aplicarse a las bases de datos secundarias. Se recomienda seguir las instrucciones de Escalado horizontal del nivel de SQL Server (https://go.microsoft.com/fwlink/?LinkID=158075) en la documentación de BizTalk Server.

Para obtener resultados óptimos, toda la pila de hardware y software debe ser de calidad adecuada y también configurarse correctamente. En primer lugar, se debe adquirir hardware de buena calidad, incluidos, entre otros, las redes gigabits, el almacenamiento rápido (discos SQL locales SAN o 15 K) y los equipos modernos que tienen varias CPU con varios núcleos por CPU. El equipo de SQL Server solo debe dedicarse al procesamiento de BizTalk Server. Al ejecutar un único equipo de SQL Server, se recomienda crear dos instancias de SQL, una para el Cuadro de mensajes de BizTalk y otra para todas las demás bases de datos. Esto permite configurar la configuración de toda la instancia para obtener un rendimiento óptimo del cuadro de mensajes. Las optimizaciones recomendadas en Optimización del rendimiento deben aplicarse paso a paso en el orden siguiente: Optimización del rendimiento del sistema operativo, Optimización del rendimiento de la red, Optimización del rendimiento de la base de datos de configuración previa2, Optimizaciones de base de datos posteriores a la configuración2 y Optimizaciones generales de BizTalk Server 1. La creación de grupos de archivos dedicados para la base de datos MessageBox y la asignación de estos en los LUN de SAN, como se describe en Optimización de grupos de archivos para las bases de datos2, puede proporcionar una mejora considerable del rendimiento en función de la configuración de SAN y el diseño de LUN.

Para determinar de forma eficaz cómo escalar el nivel de BizTalk Server o SQL, se recomienda realizar pruebas de carga mediante mensajes que aproximan los datos de producción reales. Antes de escalar el nivel de BizTalk Server, asegúrese de que SQL Server aún no sea un cuello de botella, como se recomienda en Supervisión SQL Server rendimiento. Si SQL Server no es un cuello de botella y hay espacio de cpu en cualquiera de los equipos BizTalk Server, es posible que pueda mejorar el rendimiento modificando el diseño de la instancia de host. Es importante establecer cuatro o cinco indicadores clave de rendimiento (KPI), que se usan como puntos de comparación de alto nivel para todas las ejecuciones de pruebas. Siguiendo este consejo, podrá medir rápidamente si un cambio determinado ha degradado el rendimiento general de la solución.

Antes de escalar horizontalmente el nivel de SQL Server, aplique todas las optimizaciones de Optimización del rendimiento de la base de datos. Durante el curso de los laboratorios de rendimiento del cliente, la observación era que la configuración de almacenamiento en disco para las bases de datos MessageBox y TempDb, en particular, puede proporcionar más del 30 % de mejora del rendimiento. Al escalar a varias bases de datos de Cuadro de mensajes, se usaron tres y cuatro bases de datos messageBox porque hay poca ventaja de rendimiento al escalar horizontalmente desde una base de datos de cuadro de mensajes única a dos bases de datos de cuadro de mensajes. Para obtener más información sobre el escalado horizontal del cuadro de mensajes de BizTalk Server, consulte Escalado horizontal del nivel de SQL Server (https://go.microsoft.com/fwlink/?LinkID=158075) en la documentación de BizTalk Server.

Optimizaciones implementadas

En esta sección se proporciona una lista de comprobación de todas las optimizaciones que se aplicaron para los escenarios de prueba de laboratorio.

Nota

Estos deben probarse de acuerdo con los procedimientos de administración de cambios antes de aplicarlos en el entorno de producción.

La aplicación de las optimizaciones de una manera sistemática y controlada,mediante la aplicación de un conjunto de optimizaciones y, a continuación, la prueba del impacto, dará como resultado el máximo beneficio de rendimiento. Aplicar optimizaciones sin probar periódicamente el impacto de las optimizaciones puede provocar realmente una degradación del rendimiento de la solución.

Listas de comprobación de optimizaciones aplicadas

Optimizaciones de plataforma y red

Optimization Referencia
BIOS: configure las opciones de rendimiento. Optimización del rendimiento del sistema operativo
Deshabilite el examen en tiempo real en SQL Server archivos. Optimización del rendimiento del sistema operativo
Habilite el plan de energía "Alto rendimiento" en todos los equipos BizTalk Server y SQL Server. Directrices generales para mejorar el rendimiento del sistema operativo
Deshabilite antivirus en todos los equipos BizTalk Server y SQL Server. Directrices generales para mejorar el rendimiento del sistema operativo

Optimizaciones de SQL Server: General

Optimization Referencia
Establezca Unidad de asignación de archivos NTFS en 64 KB. Optimizaciones de base de datos de configuración previa2
Instale SQL Server 2008 R2. Optimizaciones de base de datos de configuración previa2
Configure SQL Server 2008 R2 Data Collector/Warehouse. Optimizaciones de base de datos de configuración previa2
Asegúrese de que se han ampliado los privilegios de Windows adecuados a las cuentas de servicio de SQL Server. SQL Server 2008 R2: Configurar cuentas de servicio de Windows (https://go.microsoft.com/fwlink/?LinkID=132144)
Establezca Memoria de servidor mínima y máxima para SQL Server. Optimizaciones de base de datos de configuración previa2
Conceda el privilegio Windows Lock Pages In Memory a la cuenta que se usa para SQL Server. Optimizaciones de base de datos de configuración previa2
Tamaño previo BizTalk Server bases de datos para el tamaño adecuado con varios archivos de datos. Optimizaciones de base de datos posteriores a la configuración2
Configure SQL Server protocolos de cliente. Solución de problemas de SQL Server (https://go.microsoft.com/fwlink/?LinkID=154250)
Dividir la base de datos tempdb en varios archivos de datos de igual tamaño en cada instancia de SQL Server usada por BizTalk Server Optimizaciones de base de datos de configuración previa2
Establecer manualmente la afinidad de proceso de SQL Server Optimizaciones de base de datos de configuración previa2
Configuración de MSDTC y deshabilitación del seguimiento de DTC Optimizaciones de base de datos de configuración previa2
Habilitar la marca de seguimiento T1118 como parámetro de inicio para todas las instancias de SQL Server Optimizaciones de base de datos de configuración previa2

optimizaciones de SQL Server: bases de datos de BizTalk

Optimization Referencia
Establezca Crecimiento automático de las bases de datos de BizTalk en un valor fijo y no en un valor porcentual. Optimizaciones de base de datos posteriores a la configuración2
Mover o dividir archivos de registro y datos de base de datos de BizTalk a LUNS independientes. Optimizaciones de base de datos posteriores a la configuración2
Considere la posibilidad de establecer la opción de tabla "texto en fila" en tablas de base de datos de Cuadro de mensajes específicas Optimizaciones de base de datos posteriores a la configuración2

Optimizaciones de BizTalk

Optimization Referencia
Puertos de recepción independientes, puertos de envío, orquestaciones y seguimiento en hosts dedicados independientes. Optimizaciones generales de BizTalk Server 1
Configurar intervalos de sondeo. Optimizaciones de escenarios de baja latencia2
Ajuste la propiedad de conexión máxima del archivo de configuración de BizTalk. "Aumentar el número de conexiones simultáneas SOAP y HTTP permitidas cambiando el valor del parámetro maxconnection" de General BizTalk Server Optimizations1
Defina los parámetros de hospedaje de CLR para cada instancia de host en cada nodo de BizTalk Server:

Máximo de subprocesos de E/S: 250

Máximo de subprocesos de trabajo: 100

Subprocesos de E/S mínimos: 25

Subprocesos de trabajo mínimos: 25
Sección "Definir valores de subproceso de hospedaje CLR para instancias de host de BizTalk" de General BizTalk Server Optimizations1
Aumente los mensajes en proceso y el tamaño de la cola de mensajes internos a 10000. Optimizaciones de escenarios de baja latencia2
Deshabilite BizTalk Server seguimiento de nivel de grupo. Optimizaciones generales de BizTalk Server 1
Administrar el número de solicitudes que se ejecutan simultáneamente para ASP.NET 4 aplicaciones web que pueden hospedar ubicaciones aisladas recibidas, servicios web back-end y servicios WCF en IIS 7.5 e IIS 7.0 que se ejecutan en modo integrado Optimizaciones generales de BizTalk Server 1
Deshabilitación de la limitación de host de BizTalk Server Optimizaciones generales de BizTalk Server 1
Configuración de MSDTC y deshabilitación del seguimiento de DTC Optimizaciones generales de BizTalk Server 1

Optimizaciones de configuración de WCF

Optimization Referencia
Para cada servicio WCF, aplique el comportamiento del servicio ServiceThrottling y establezca maxConcurrentCalls y maxConcurrentSessions en 200. Optimización del rendimiento del adaptador de WCF de BizTalk Server
Configure el uso del comportamiento de serviceThrottling en el archivo de configuración del servicio WCF de back-end. Optimización del rendimiento del servicio web WCF

Consulte también

Escalado de un entorno de producción de BizTalk Server