Compartir a través de


Optimizaciones de base de datos después de la configuración

Además de seguir las recomendaciones de Optimizaciones de base de datos de configuración previa2, se deben seguir varios pasos para optimizar BizTalk Server rendimiento de la base de datos en SQL Server después de instalar BizTalk Server y se han configurado las bases de datos de BizTalk Server. En este tema se proporciona una lista de estas optimizaciones.

Considere la posibilidad de establecer la opción de tabla "text in row" en tablas específicas de base de datos de Cuadro de mensajes

SQL Server proporciona una opción de tabla denominada texto en fila para declarar que el contenido de los campos de tipo texto, ntext o datos de imagen cuyas dimensiones son más pequeñas que las de una página de datos (8 Kb) deben almacenarse en una fila de datos. Al establecer esta opción en tablas de BizTalkMsgBoxDb (tabla de elementos, tabla de colas y tablas DynamicStateInfo), puede aumentar el rendimiento de los mensajes al trabajar con mensajes pequeños que tienen un contexto y orquestaciones pequeños que tienen un tamaño de persistencia pequeño.

  • Tabla de partes: cuando el tamaño del mensaje es menor que las dimensiones de una página de datos de 8 kb, la aplicación de la opción texto de la tabla de filas en la tabla Partes puede dar lugar a BizTalk Server mejora del rendimiento. La tabla Parts contiene los campos siguientes:

    • ImgPart: contiene un fragmento de elemento de mensaje o parte de mensaje.

    • ImgPropBag: contiene el contenedor de propiedades del elemento de mensaje.

      De este modo, al realizar un bucle en el Cuadro de mensajes, el Agente de mensajes que se ejecuta dentro de un host de BizTalk puede recuperar un lote de mensajes de la tabla Parts mediante la lectura de una pequeña cantidad de páginas. Según el escenario específico y la configuración de hardware, esta técnica puede reducir el uso de cpu tanto en la SQL Server como en la BizTalk Server, y proporcionar una mejora significativa en términos de latencia y rendimiento.

  • Tabla de cola: cuando el tamaño medio del contexto del mensaje es inferior a 8 kb, habilitar la opción texto en la tabla de filas de la tabla de cola le ayuda a reducir el número de accesos al leer mensajes del Cuadro de mensajes junto con su contexto. Para aplicar esta opción a la tabla Spool, debe eliminar las propiedades de contexto innecesarias y los campos distintivos para reducir el tamaño del contexto del mensaje inferior a 8 Kb.

  • Tablas DynamicStateInfo Estas tablas, una para cada host, contienen un campo de tipo image denominado imgData que contiene el estado de orquestación serializada binaria cuando encuentran un punto de persistencia durante su ejecución. Cuando el estado interno de las orquestaciones dentro de un host HostA es tan pequeño que su tamaño una vez serializado es inferior a 8 kb, el texto de la técnica de fila se puede aplicar correctamente a la tabla DynamicStateInfo_HostA. Por lo tanto, se recomienda mantener el estado interno de las orquestaciones lo más pequeños posible. Esta técnica puede reducir significativamente el tiempo empleado por el motor XLANG para serializar, conservar, des serializar y restaurar el estado interno de una orquestación en caso de punto de persistencia.

    Usamos la siguiente configuración en nuestras pruebas de laboratorio:

  • EXEC sp_tableoption N'Spool', 'text in row', '6000'

  • EXEC sp_tableoption N'Parts', 'text in row', '6000'

Definir la configuración de crecimiento automático para BizTalk Server bases de datos en un valor fijo en lugar de un valor porcentual

  • SQL Server crecimiento automático de la base de datos es una operación de bloqueo, lo que dificulta el rendimiento de la base de datos BizTalk Server. Por lo tanto, es importante asignar espacio suficiente para las bases de datos de BizTalk Server de antemano para minimizar la aparición del crecimiento automático de la base de datos.

  • El crecimiento automático de la base de datos debe establecerse en un número fijo de megabytes en lugar de en un porcentaje (especifique el crecimiento de archivos en Megabytes). Esto se debe hacer para que, si se produce el crecimiento automático, lo hace de forma medida. Esto reduce la probabilidad de un crecimiento excesivo de la base de datos. Por lo general, el incremento de crecimiento de las bases de datos de BizTalk Server no debe ser inferior a 100 MB.

Tamaño previo BizTalk Server bases de datos para el tamaño adecuado con varios archivos de datos

Cuando SQL Server aumenta el tamaño de un archivo, primero debe inicializar el nuevo espacio para poder usarlo. Se trata de una operación de bloqueo que implica rellenar el nuevo espacio con páginas vacías. SQL Server 2005 o posterior que se ejecute en Windows Server 2003 o posterior admite la inicialización instantánea de archivos. Esta funcionalidad puede reducir considerablemente el impacto en el rendimiento de una operación de crecimiento de archivos. Para obtener más información, consulte Inicialización instantánea de archivos de base de datos, que proporciona pasos para habilitar la inicialización instantánea de archivos.

En la lista siguiente se describen las configuraciones de base de datos BizTalk Server usadas en nuestras pruebas de laboratorio:

  • DTADB de BizTalk (archivos de base de datos de seguimiento de BizTalk): El archivo de datos tiene un tamaño de archivo de 2048 MB con un crecimiento de 100 MB y un archivo de registro de 1024 MB con un crecimiento de 100 MB.

  • BizTalkMgmtdb (archivos de base de datos de administración de BizTalk): Archivo de datos con un tamaño de archivo de 512 MB con un crecimiento de 100 MB y un archivo de registro de 512 MB con un crecimiento de 100 MB.

  • SSODB: Archivo de datos con un tamaño de archivo de 512 MB con un crecimiento de 100 MB y un archivo de registro de 512 MB con un crecimiento de 100 MB.

  • BizTalkMsgBoxDb (bases de datos de Cuadro de mensajes de BizTalk): 8 archivos de datos, cada uno con un tamaño de archivo de 2 GB con un crecimiento de 100 MB y un archivo de registro de 20 GB con un crecimiento de 100 MB. Dado que las bases de datos de Cuadro de mensajes de BizTalk son las más activas, se recomienda colocar los archivos de datos y los archivos de registro de transacciones en unidades dedicadas para reducir la probabilidad de problemas con la contención de E/S de disco. En nuestro entorno de laboratorio, usamos una unidad para cada una de las siguientes opciones:

    • Archivos de datos de Cuadro de mensajes

    • Archivos de registro de transacciones de Cuadro de mensajes

    El siguiente script SQL se puede usar para el tamaño previo de BizTalkMsgBoxDb, que inicialmente tiene un archivo de datos en la unidad J (J:\BizTalkMsgBoxDb.mdf) y un archivo de registro en la unidad K (K:\BizTalkMsgBoxDb_log. LDF):

Importante

Este script se proporciona "tal cual", está pensado solo para fines educativos o de demostración, y se usará en su propio riesgo. Microsoft no admite el uso de este script y Microsoft no garantiza la idoneidad de este script.

EXEC dbo.sp_helpdb BizTalkMsgBoxDb
ALTER DATABASE BizTalkMsgBoxDb MODIFY FILE (NAME = BizTalkMsgBoxDb , FILENAME = 'J:\BizTalkMsgBoxDb.mdf' , SIZE = 2GB , FILEGROWTH = 100MB)
ALTER DATABASE BizTalkMsgBoxDb ADD FILE    (NAME = BizTalkMsgBoxDb_2 , FILENAME = 'J:\BizTalkMsgBoxDb_2.ndf' , SIZE = 2GB , FILEGROWTH = 100MB)
ALTER DATABASE BizTalkMsgBoxDb ADD FILE    (NAME = BizTalkMsgBoxDb_3 , FILENAME = 'J:\BizTalkMsgBoxDb_3.ndf' , SIZE = 2GB , FILEGROWTH = 100MB)
ALTER DATABASE BizTalkMsgBoxDb ADD FILE    (NAME = BizTalkMsgBoxDb_4 , FILENAME = 'J:\BizTalkMsgBoxDb_4.ndf' , SIZE = 2GB , FILEGROWTH = 100MB)
ALTER DATABASE BizTalkMsgBoxDb ADD FILE    (NAME = BizTalkMsgBoxDb_5 , FILENAME = 'J:\BizTalkMsgBoxDb_5.ndf' , SIZE = 2GB , FILEGROWTH = 100MB)
ALTER DATABASE BizTalkMsgBoxDb ADD FILE    (NAME = BizTalkMsgBoxDb_6 , FILENAME = 'J:\BizTalkMsgBoxDb_6.ndf' , SIZE = 2GB , FILEGROWTH = 100MB)
ALTER DATABASE BizTalkMsgBoxDb ADD FILE    (NAME = BizTalkMsgBoxDb_7 , FILENAME = 'J:\BizTalkMsgBoxDb_7.ndf' , SIZE = 2GB , FILEGROWTH = 100MB)
ALTER DATABASE BizTalkMsgBoxDb ADD FILE    (NAME = BizTalkMsgBoxDb_8 , FILENAME = 'J:\BizTalkMsgBoxDb_8.ndf' , SIZE = 2GB , FILEGROWTH = 100MB)
GO
ALTER DATABASE BizTalkMsgBoxDb MODIFY FILE (NAME = BizTalkMsgBoxDb_log , FILENAME = 'K:\BizTalkMsgBoxDb_log.LDF', SIZE =  20GB , FILEGROWTH = 100MB)
GO

Traslado del directorio de salida del BizTalk Server de copia de seguridad a un LUN dedicado

  1. Mueva el directorio de salida denominado Copia de seguridad de BizTalk (copia de seguridad completa y de registro) a un LUN dedicado.

  2. Edite el trabajo denominado Backup BizTalk Server para que apunte al LUN dedicado.

El primer paso reduce la contención de E/S de disco cuando el trabajo se ejecuta escribiendo en un disco que difiere de donde se lee el trabajo. Para obtener más información, vea Configurar el trabajo de copia de seguridad BizTalk Server.

Compruebe que se están ejecutando los trabajos del Agente SQL de BizTalk Server

En BizTalk Server, varios trabajos de Agente SQL Server realizan funciones importantes que mantienen los servidores operativos y en buen estado. Asegúrese de supervisar el estado de estos trabajos y de que se ejecutan sin errores. Una causa común de BizTalk Server problemas de rendimiento es que cuando los trabajos del Agente SQL de BizTalk Server no se están ejecutando, las bases de datos MessageBox y Tracking pueden aumentar desmarcadas. Para asegurarse de que los trabajos del Agente SQL de BizTalk Server se ejecutan sin problemas, siga estos pasos:

  1. Compruebe que el servicio Agente SQL Server se está ejecutando.

  2. Compruebe que los trabajos de Agente SQL Server instalados por BizTalk Server estén habilitados y ejecutándose correctamente. Los trabajos de BizTalk Server Agente SQL Server son cruciales: si no se ejecutan, el rendimiento del sistema se degradará con el tiempo.

  3. Compruebe que los trabajos de BizTalk Server Agente SQL Server se están completando de forma oportuna. Configure la versión más reciente de Microsoft System Center Operations Manager para supervisar los trabajos. Debe tener en cuenta las programaciones que son específicas de determinados trabajos:

    • El trabajo de MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb se ejecuta continuamente de forma predeterminada. El software de supervisión debe tener en cuenta esta programación y no generar advertencias.

    • El trabajo de MessageBox_Message_Cleanup_BizTalkMsgBoxDb no está habilitado o programado, pero lo inicia el trabajo de MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb cada 10 segundos. Por lo tanto, este trabajo no se debe habilitar, programar ni iniciar manualmente.

  4. Compruebe que el tipo de inicio del servicio Agente SQL Server está configurado correctamente. Compruebe que el servicio Agente SQL Server está configurado con un tipo de inicioautomático a menos que el servicio de Agente SQL Server esté configurado como un recurso de clúster en un clúster de Windows Server. Si el servicio de Agente SQL Server está configurado como un recurso de clúster, debe configurar el tipo de inicio como Manual, ya que el servicio será administrado por el servicio de clúster.

Configurar purga y archivado de datos de seguimiento

Para asegurarse de configurar correctamente los datos de seguimiento de purga y archivado, siga estos pasos:

  1. Asegúrese de que el trabajo del Agente SQL denominado Purga y archivo de DTA está configurado, habilitado y completado correctamente.

    Para obtener más información, vea Configurar el trabajo de purga y archivo de DTA.

  2. Asegúrese de que el trabajo puede purgar los datos de seguimiento tan rápido como se generan los datos de seguimiento entrantes.

    Para obtener más información, consulte Medición del rendimiento de seguimiento máximo sostenible.

  3. Revise los parámetros de purga temporal y purga dura para asegurarse de que mantiene los datos durante un período de tiempo óptimo.

    Para obtener más información, vea Archivar y purgar la base de datos de seguimiento de BizTalk.

  4. Si solo necesita purgar los datos antiguos y no es necesario archivar primero, cambie el trabajo del Agente SQL para llamar al procedimiento almacenado denominado dtasp_PurgeTrackingDatabase.

    Para obtener más información, vea Purgar datos de la base de datos de seguimiento de BizTalk.

Supervisión y reducción de la contención de E/S de disco del archivo de registro DTC

El archivo de registro del Coordinador de transacciones distribuidas (DTC) puede convertirse en un cuello de botella de E/S de disco en entornos con un uso intensivo de transacciones. Esto es especialmente cierto cuando se usan adaptadores que admiten transacciones, como SQL Server, MSMQ o MQSeries, o en un entorno de varios cuadros de mensajes. Los adaptadores transaccionales usan transacciones DTC y los entornos de varios cuadros de mensajes hacen un uso amplio de las transacciones DTC. Para asegurarse de que el archivo de registro DTC no se convierte en un cuello de botella de E/S de disco, debe supervisar el uso de E/S de disco para el disco donde reside el archivo de registro DTC en los servidores de base de datos de SQL Server. Si el uso de E/S de disco para el disco donde reside el archivo de registro DTC se vuelve excesivo, considere la posibilidad de mover el archivo de registro DTC a un disco más rápido. En un entorno en el que SQL Server está agrupado, esto no es tan importante porque el archivo de registro ya estará en una unidad compartida, lo que probablemente será una unidad SAN rápida con varios ejes. Sin embargo, debe seguir supervisando el uso de E/S de disco. Esto se debe a que puede convertirse en un cuello de botella en entornos no agrupados o cuando el archivo de registro DTC está en un disco compartido con otros archivos que consumen muchos discos.

Separar el cuadro de mensajes y las bases de datos de seguimiento

Dado que las bases de datos de BizTalk MessageBox y Seguimiento de BizTalk son las más activas, se recomienda colocar los archivos de datos y los archivos de registro de transacciones para cada uno de ellos en unidades dedicadas para reducir la probabilidad de problemas con la contención de E/S de disco. Por ejemplo, necesitaría cuatro unidades para los archivos de base de datos MessageBox y Seguimiento de BizTalk, una unidad para cada una de las siguientes:

  • Archivos de datos de Cuadro de mensajes

  • Archivos de registro de transacciones de Cuadro de mensajes

  • Archivos de datos de seguimiento de BizTalk (DTA)

  • Archivos de registro de transacciones de seguimiento de BizTalk (DTA)

    Se consideran procedimientos recomendados para reducir la contención de E/S de disco, separar los archivos de base de datos y los archivos de registro de transacciones en diferentes discos físicos. Intente distribuir la E/S del disco entre tantos ejes físicos como sea posible. También puede reducir la contención de E/S de disco colocando la base de datos de seguimiento de BizTalk en una SQL Server dedicada; sin embargo, debe seguir las prácticas anteriores con respecto a separar los archivos de datos y los archivos de registro de transacciones.

Optimización de grupos de archivos para las bases de datos de BizTalk Server

Siga los pasos descritos en Optimización de grupos de archivos para las bases de datos2 y Optimización del rendimiento de la base de datos para crear grupos de archivos y archivos adicionales para las bases de datos de BizTalk Server. Esto aumentará considerablemente el rendimiento de las bases de datos de BizTalk Server desde una única configuración de disco.

Consulte también

Optimización del rendimiento de la base de datos