Compartir a través de


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

La contención de entrada y salida de archivos (E/S) suele ser un factor de limitación, o cuello de botella, en un entorno de producción de BizTalk Server. BizTalk Server es una aplicación muy intensiva de base de datos y, a su vez, la base de datos de SQL Server usada por BizTalk Server es muy intensiva de E/S de archivos. En este tema se describe cómo hacer un uso óptimo de la característica de archivos y grupos de archivos de SQL Server para minimizar la aparición de contención de E/S de archivos y mejorar el rendimiento general de una solución de BizTalk Server.

Información general

Cada solución de BizTalk Server finalmente encontrará contención de E/S de archivos a medida que aumenta el rendimiento. El subsistema de E/S o el motor de almacenamiento es un componente clave de cualquier base de datos relacional. Normalmente, una implementación correcta de la base de datos requiere un planeamiento cuidadoso en las primeras fases de un proyecto. Este planeamiento debe incluir la consideración de los siguientes problemas:

  • Qué tipo de hardware de disco se va a usar, como dispositivos RAID (matriz redundante de discos independientes).

  • Cómo distribuir datos en los discos usando archivos y grupos de archivos. Para obtener más información sobre el uso de archivos y grupos de archivos en SQL Server, vea Archivos de base de datos y grupos de archivos.

  • Implementar el diseño óptimo del índice para mejorar el rendimiento al acceder a los datos. Para obtener más información sobre cómo diseñar índices, vea Diseño de índices.

  • Cómo establecer parámetros de configuración de SQL Server para obtener un rendimiento óptimo. Para obtener más información sobre cómo establecer parámetros de configuración óptimos para SQL Server, vea Opciones de configuración del servidor.

    Uno de los principales objetivos de diseño de BizTalk Server es asegurarse de que un mensaje nunca se pierde. Para mitigar la posibilidad de pérdida de mensajes, los mensajes se escriben con frecuencia en la base de datos messageBox a medida que se procesa el mensaje. Cuando una orquestación procesa los mensajes, el mensaje se escribe en la base de datos MessageBox en cada punto de persistencia de la orquestación. Estos puntos de persistencia hacen que MessageBox escriba el mensaje y el estado relacionado en el disco físico. Con mayores tasas de transferencia, esta persistencia puede dar lugar a una contención considerable de disco y puede convertirse en un cuello de botella.

    El uso óptimo de la característica de archivos y grupos de archivos en SQL Server ha demostrado ser eficaz para abordar los cuellos de botella de E/S de archivos y mejorar el rendimiento general en las soluciones de BizTalk Server.

Nota:

Esta optimización solo debe realizarse por un administrador de base de datos de SQL Server experimentado y solo después de que se haya realizado correctamente una copia de seguridad de todas las bases de datos de BizTalk Server. Esta optimización debe realizarse en todos los equipos con SQL Server en el entorno de BizTalk Server.

Los archivos y grupos de archivos de SQL Server se pueden usar para mejorar el rendimiento de la base de datos, ya que esta funcionalidad permite crear una base de datos en varios discos, varios controladores de disco o sistemas RAID (matriz redundante de discos independientes). Por ejemplo, si el equipo tiene cuatro discos, puede crear una base de datos formada por tres archivos de datos y un archivo de registro, con un archivo en cada disco. A medida que se accede a los datos, cuatro cabezales de lectura y escritura pueden acceder simultáneamente a los datos. Esto acelera significativamente las operaciones de base de datos. Para obtener más información sobre la implementación de soluciones de hardware para discos de SQL Server, consulte Rendimiento de la base de datos en la Documentación en línea de SQL Server.

Además, los archivos y los grupos de archivos permiten la selección de ubicación de datos, ya que las tablas se pueden crear en grupos de archivos específicos. Esto mejora el rendimiento, ya que todas las E/S de archivos de una tabla determinada se pueden dirigir a un disco específico. Por ejemplo, una tabla muy usada se puede colocar en un archivo de un grupo de archivos, ubicado en un disco, y las otras tablas con menos acceso a ellas se pueden ubicar en archivos diferentes de otro grupo de archivos, ubicados en un segundo disco.

Los cuellos de botella de entrada/salida de archivos se discuten en detalle en Cuellos de botella en el nivel de base de datos. El indicador más común de que la E/S de archivo (E/S de disco) es un cuello de botella es el valor del contador "Disco físico: Longitud media de la cola de disco". Cuando el valor del contador "Disco físico:Longitud media de cola de disco" es mayor que aproximadamente 3 para cualquier disco en cualquiera de los equipos que ejecutan SQL Server, es probable que la E/S de archivo sea un cuello de botella.

Si la aplicación de la optimización de archivos o grupos de archivos no resuelve un problema de cuello de botella de E/S de archivos, puede ser necesario aumentar el rendimiento del subsistema de disco agregando unidades físicas o SAN adicionales.

En este tema se describe cómo aplicar manualmente optimizaciones de archivos y grupos de archivos, pero estas optimizaciones también se pueden automatizar mediante scripts. Se proporciona un script SQL de ejemplo en el archivo de script SQL de grupos de archivos de la base de datos MessageBox de BizTalk Server.

Nota:

Es importante tener en cuenta que este script tendría que modificarse para acomodar el archivo, el grupo de archivos y la configuración de disco que usan las bases de datos de SQL Server para cualquier solución de BizTalk Server determinada.

Bases de datos creadas con una configuración predeterminada de BizTalk Server

En función de las características que se habilitan al configurar BizTalk Server, se pueden crear hasta 13 bases de datos diferentes en SQL Server y todas estas bases de datos se crean en el grupo de archivos predeterminado. El grupo de archivos predeterminado para SQL Server es el grupo de archivos PRINCIPAL a menos que se cambie el grupo de archivos predeterminado mediante el comando ALTER DATABASE. En la tabla siguiente se enumeran las bases de datos que se crean en SQL Server si todas las características están habilitadas al configurar BizTalk Server.

Bases de datos de BizTalk Server

Base de datos Nombre de base de datos predeterminado Descripción
Bases de datos de configuración BizTalkMgmtDb Almacén central de metadatos para todas las instancias de BizTalk Server en el grupo de BizTalk Server.
Base de datos MessageBox de BizTalk BizTalkMsgBoxDb Almacena predicados de suscripciones. Es una plataforma de host y mantiene las colas y las tablas de estado para cada host de BizTalk Server. La base de datos MessageBox también almacena los mensajes y las propiedades del mensaje.
Base de datos de seguimiento de BizTalk BizTalkDTADb Almacena los datos empresariales y de supervisión de salud que lleva a cabo el motor de seguimiento de BizTalk Server.
Base de datos de análisis de BAM BAMAnalysis Base de datos de SQL Server Analysis Services que mantiene los datos históricos agregados para actividades empresariales.
Base de datos de esquema estrella de BAM BAMStarSchema Transforma los datos recopilados de la supervisión de actividad empresarial para el procesamiento OLAP. Esta base de datos es necesaria cuando se usa la base de datos de análisis de BAM.
Base de datos de importación principal de BAM BAMPrimaryImport Almacena los eventos de Actividades empresariales y, a continuación, consulta el progreso y los datos después de las instancias de actividad. Esta base de datos también realiza agregaciones en tiempo real.
Base de datos de archivo de BAM BAMArchive Almacena predicados de suscripción. La base de datos de archivo de BAM minimiza la acumulación de datos de actividad empresarial en la base de datos de importación principal de BAM.
Base de datos de SSO SSODB Almacena de forma segura la información de configuración de las ubicaciones de recepción. Almacena información sobre las aplicaciones afiliadas de SSO, así como las credenciales de usuario cifradas a todas las aplicaciones afiliadas.
Base de datos del motor de reglas BizTalkRuleEngineDb Repositorio para:

- Directivas, que son conjuntos de reglas relacionadas.
- Vocabularios, que son colecciones de nombres específicos de dominio y fáciles de usar para las referencias de datos en reglas.
Base de datos de administración de Servicios de flujo de trabajo humano BizTalkHwsDb Almacena información administrativa requerida por BizTalk Human Workflow Services.
Base de datos de administración de socios comerciales Módulo de Plataforma Segura (TPM) Almacena datos de socios comerciales para servicios de actividad empresarial (BAS).
Base de datos de administración del servidor de análisis de rastreo BizTalkAnalysisDb Almacena cubos OLAP de supervisión empresarial y de salud.

Separación de archivos de datos y archivos de registro

Como se indicó anteriormente, una configuración predeterminada de BizTalk Server coloca la base de datos cuadro de mensajes en un solo archivo del grupo de archivos predeterminado. De forma predeterminada, los registros de datos y transacciones de la base de datos messageBox se colocan en la misma unidad y ruta de acceso. Esto se hace para acomodar sistemas con un solo disco. Una única configuración de archivo, grupo de archivos o disco no es óptima en un entorno de producción. Para obtener un rendimiento óptimo, los archivos de datos y los archivos de registro deben colocarse en discos independientes.

Nota:

Los archivos de registro nunca forman parte de un grupo de archivos. El espacio de registro se administra independientemente del espacio de datos.

La regla 80/20 de distribución de bases de datos de BizTalk Server

La principal fuente de contención en la mayoría de las soluciones de BizTalk Server, ya sea debido a la contención de E/S de disco o a la contención de base de datos, es la base de datos MessageBox de BizTalk Server. Esto es cierto en escenarios de cuadro de mensajes únicos y múltiples. Es razonable asumir que hasta el 80% del valor de la distribución de bases de datos de BizTalk se derivará de optimizar los archivos de datos de MessageBox y el archivo de registros. El escenario de ejemplo que se detalla a continuación se centra en optimizar los archivos de datos de una base de datos messageBox. Estos pasos se pueden seguir para otras bases de datos según sea necesario. Por ejemplo, si la solución requiere un seguimiento extenso, también se puede optimizar la base de datos de seguimiento.

Adición manual de archivos a la base de datos MessageBox, paso a paso

En esta sección del tema se describen los pasos que se pueden seguir para agregar manualmente archivos a la base de datos messageBox. En este ejemplo se agregan tres grupos de archivos y, a continuación, se agrega un archivo a cada grupo de archivos para distribuir los archivos del Cuadro de mensajes en varios discos.

Agregar manualmente archivos a la base de datos MessageBox en SQL Server

  1. Abra SQL Server Management Studio para mostrar el cuadro de diálogo Conectar con el servidor .

    Pantalla de inicio de sesión de SQL Server

  2. En el cuadro de edición Nombre del servidor del cuadro de diálogo Conectar con el servidor , escriba el nombre de la instancia de SQL Server que contiene las bases de datos cuadro de mensajes de BizTalk Server y haga clic en Conectar para mostrar SQL Server Management Studio. En el panel Explorador de objetos de SQL Server Management Studio, expanda Bases de datos para ver las bases de datos de esta instancia de SQL Server.

    SQL Server 2005 Management Studio, Explorador de objetos

  3. Haga clic con el botón derecho en la base de datos a la que agregar los archivos y, a continuación, haga clic en Propiedades para mostrar el cuadro de diálogo Propiedades de la base de datos para la base de datos.

    Cuadro de diálogo Propiedades de base de datos de SQL Server 2005

  4. En el cuadro de diálogo Propiedades de la base de datos , seleccione la página Grupos de archivos. Para crear grupos de archivos adicionales para las bases de datos BizTalkMsgBoxDb, haga clic en Agregar . En el ejemplo siguiente, se agregan tres grupos de archivos adicionales.

    SQL Server 2005, agregar grupos de archivos a una base de datos

  5. En el cuadro de diálogo Propiedades de la base de datos , seleccione la página Archivos .

    Para crear archivos adicionales para agregar a los grupos de archivos, haga clic en Agregar y, a continuación, haga clic en Aceptar. La base de datos MessageBox ahora se distribuye entre varios discos, lo que proporcionará una ventaja de rendimiento significativa sobre una sola configuración de disco.

    En el ejemplo siguiente, se crea un archivo para cada uno de los grupos de archivos que se crearon anteriormente y cada archivo se coloca en un disco independiente.

    SQL Server 2005, agregar archivos a un grupo de archivos

Script SQL de ejemplo para agregar grupos y archivos al MessageBox de la base de datos de BizTalk

En esta guía se incluye un script SQL para agregar grupos de archivos y archivos a la base de datos cuadro de mensajes de BizTalk Server.

Nota:

Dado que SQL Server escribe en sus archivos de registro secuencialmente, no hay ninguna ventaja de rendimiento realizada mediante la creación de varios archivos de registro para una base de datos de SQL Server.

Para ejecutar este script, siga estos pasos:

  1. Abra SQL Server Management Studio para mostrar el cuadro de diálogo Conectar con el servidor .

  2. En el cuadro de edición Nombre del servidor del cuadro de diálogo Conectar con el servidor , escriba el nombre de la instancia de SQL Server que contiene las bases de datos cuadro de mensajes de BizTalk Server y haga clic en Conectar para mostrar el cuadro de diálogo SQL Server Management Studio.

  3. En SQL Server Management Studio, haga clic en el menú Archivo , seleccione Nuevo y, a continuación, haga clic en Consulta con conexión actual para iniciar el Editor de consultas SQL.

  4. Copie el script de ejemplo del Script SQL de grupos de archivos de la base de datos del cuadro de mensajes de BizTalk Server en el Editor de consultas.

  5. Edite los parámetros del script para que coincidan con el entorno de BizTalk Server y ejecute el script.

    La ventaja de crear scripts es que los scripts pueden realizar varias tareas rápidamente, se pueden reproducir con precisión y reducir la posibilidad de error humano. La desventaja del scripting es que la ejecución de un script escrito incorrectamente puede provocar problemas graves que podrían requerir que las bases de datos de BizTalk Server se vuelvan a configurar desde cero.

Importante

Es de suma importancia que los scripts SQL, como el script de ejemplo de esta guía, se prueben exhaustivamente antes de ejecutarse en un entorno de producción.

Véase también

Optimización del rendimiento de la base de datos