Compartir vía


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 un cuello de botella, en un entorno de BizTalk Server de producción. BizTalk Server es una aplicación muy intensiva de base de datos y, a su vez, la base de datos de SQL Server utilizada por BizTalk Server es muy intensiva en 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 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. Una implementación correcta de base de datos suele requerir un diseño cuidadoso en las primeras etapas de un proyecto. Este planeamiento o diseño debería tener en cuenta lo siguiente:

  • El tipo de disco que se va a utilizar, por ejemplo, los dispositivos RAID (matriz redundante de discos independientes).

  • Cómo aprotecionar datos en los discos mediante 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 de índice óptimo 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 SQL Server parámetros de configuración para 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 nunca se pierde un mensaje. 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 cuadro de mensajes en cada punto de persistencia de la orquestación. Estos puntos de persistencia hacen que el cuadro de mensajes escriba el mensaje y el estado relacionado en el disco físico. Con un mayor rendimiento, esta persistencia puede dar lugar a una contención considerable del 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 se ha mostrado para abordar eficazmente 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 bases de datos 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 SQL Server del entorno de BizTalk Server.

SQL Server archivos y grupos de archivos 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 su equipo tiene cuatro discos, puede crear una base de datos que contenga tres archivos de datos y un archivo de registro, y mantener un archivo en cada disco. A medida que se accede a los datos, cuatro encabezados de lectura y escritura pueden acceder simultáneamente a los datos en paralelo. 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 SQL Server, vea Rendimiento de la base de datos en los Libros en pantalla de SQL Server.

Además, los archivos y grupos de archivos habilitan la colocació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 demás tablas a las que se accede con menos frecuencia en la base de datos se pueden ubicar en distintos archivos de otro grupo de archivos, ubicados en un segundo disco.

Los cuellos de botella de E/S de archivos se describen con mucho 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 3 para cualquier disco determinado 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 grupos de archivos y archivos, pero estas optimizaciones también se pueden crear scripts. Se proporciona un script SQL de ejemplo en BizTalk Server script SQL de grupos de archivos de base de datos de cuadro de mensajes.

Nota

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

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

Dependiendo 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 PRIMARY 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 predeterminado de la base de datos Descripción
Base de datos de configuración BizTalkMgmtDb Almacén central de metadatos para todas las instancias de BizTalk Server del grupo de BizTalk Server.
Base de datos de Cuadro de mensajes de BizTalk BizTalkMsgBoxDb Almacena predicados de suscripciones. Es una plataforma host y mantiene las colas y las tablas de estado para cada host BizTalk Server. La base de datos de cuadro de mensajes también almacena los mensajes y sus propiedades.
Base de datos de seguimiento de BizTalk BizTalkDTADb Almacena los datos de supervisión de estado y de negocio a los que realiza el seguimiento el motor de seguimiento de BizTalk Server.
Base de datos de análisis de BAM BAMAnalysis SQL Server Analysis Services base de datos que mantiene los datos históricos agregados para actividades empresariales.
Base de datos de esquema de estrella de SAE 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 SAE 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 para las ubicaciones de recepción. Almacena información para las aplicaciones afiliadas de SSO, así como las credenciales de usuario cifradas para 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 de usuarios BizTalkHwsDb Almacena la información administrativa requerida por BizTalk Human Workflow Services.
base de datos de administración de socios comerciales TPM Almacena datos de socios comerciales para Servicios de actividad empresarial (BAS).
Base de datos de administración de Analysis Server de seguimiento BizTalkAnalysisDb Almacena cubos OLAP de supervisión empresarial y de estado.

Separación de archivos de datos y archivos de registro

Como se indicó anteriormente, una configuración de BizTalk Server predeterminada coloca la base de datos de cuadro de mensajes en un único archivo del grupo de archivos predeterminado. De forma predeterminada, los datos y los registros de 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 único disco. Una configuración de un solo 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 del registro se administra de forma independiente del espacio de datos.

Regla 80/20 de distribución de bases de datos de BizTalk Server

El origen principal de la 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 la contención de bases de datos, es la base de datos BizTalk Server MessageBox. Esto es cierto en escenarios de cuadro de mensajes únicos y múltiples. Es razonable suponer que tanto el 80 % del valor de distribución de bases de datos de BizTalk se derivarán de optimizar los archivos de datos del cuadro de mensajes y el archivo de registro. El escenario de ejemplo que se detalla a continuación se centra en optimizar los archivos de datos de una base de datos de Cuadro de mensajes. 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.

Agregar manualmente archivos a la base de datos de Cuadro de mensajes, 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 entre 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 al 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 al servidor, escriba el nombre de la instancia de SQL Server que aloja las bases de datos de 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 de la base de datos.

    de SQL Server 2005cuadro de diálogo propiedades de base de datos

  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, agregando 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 que se van a 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 única 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, agregando archivos a un grupo de archivos

Script SQL de ejemplo para agregar grupos de archivos y archivos a la base de datos de Cuadro de mensajes de BizTalk

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

Nota

Dado que SQL Server escribe en sus archivos de registro secuencialmente, no hay ninguna ventaja de rendimiento al crear 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 al servidor.

  2. En el cuadro de edición Nombre del servidor del cuadro de diálogo Conectar al servidor, escriba el nombre de la instancia de SQL Server que aloja las bases de datos de 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 Power Query de SQL.

  4. Copie el script de ejemplo de BizTalk Server script SQL de grupos de archivos de base de datos de cuadro de mensajes en el Editor de Power Query.

  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.

Consulte también

Optimización del rendimiento de la base de datos