Rendimiento

Este tema le ayudará a maximizar el rendimiento a la hora de usar el proveedor de datos.

Configurar para el rendimiento

Para mejorar el rendimiento, configure los proveedores de las maneras que se indican a continuación.

Agrupar los recursos de OLE DB para reducir el tiempo de inicio de la conexión

OLE DB Resource Pooling y Provider Connection Pooling pueden incrementar el rendimiento al reducir el tiempo de inicio de la conexión. Resource Pooling se habilita mediante los OLE DB Service Components que forman parte del sistema operativo Windows. Puede habilitar OLE DB Resource Pooling mediante la configuración de las propiedades del Registro y las propiedades de inicialización de OLE DB. Para obtener más información, vea la página sobre la agrupación de recursos OLE DB (https://go.microsoft.com/fwlink/?LinkID=180446).

Agrupar los recursos de proveedor para reducir el tiempo de inicio de la conexión

La agrupación de conexiones es un método de optimización del cliente que reduce el tiempo de inicio de la conexión a la vez que reduce la utilización de la memoria en el equipo cliente. El proveedor de ADO.NET, el proveedor de OLE DB, el proveedor de Entity y BizTalk Adapter admiten la agrupación de conexiones. Puede especificar la agrupación mediante la cadena de conexión de ADO.NET o la cadena de inicialización de origen de datos de OLE DB (Agrupación de conexiones=True). Además, puede configurar la agrupación mediante el cuadro de diálogo Opciones avanzadas del Asistente para orígenes de datos y el cuadro de diálogo Todo de Vínculos de datos.

El proveedor conserva una memoria en caché de las conexiones en función de la propiedad Tamaño máximo del grupo. El tamaño predeterminado de la agrupación es 100 conexiones (Tamaño máximo del grupo=100), que se puede ajustar mediante el cuadro de diálogo Todo del Asistente para orígenes de datos o Vínculos de datos. No hay límite superior para la propiedad Tamaño máximo del grupo. Si configura un valor menor que cero para la propiedad Tamaño máximo del grupo, se usa el valor predeterminado 100. De manera opcional, puede especificar un número de segundos para indicar al proveedor de datos que debe esperar para establecer conexiones mediante la agrupación del cliente. Cuando todas las conexiones de una agrupación están en uso y expira el período de espera, el proveedor de datos devolverá un error al consumidor de datos (“conexión no disponible”). El valor predeterminado es 15 segundos (Tiempo de espera de conexión=15), que se puede ajustar mediante el cuadro de diálogo Todo del Asistente para orígenes de datos o Vínculos de datos. No hay límite superior para la propiedad Tiempo de espera de conexión. Especifique -1 para indicar al proveedor de datos que debe esperar indefinidamente para abrir una conexión en la agrupación de conexiones del cliente.

Optimizar la memoria caché del conjunto de filas al obtener datos

La propiedad RowsetCacheSize indica al proveedor de datos que debe realizar una captura previa de filas desde DB2, mientras que procesa y devuelve filas simultáneamente al consumidor de datos. Esta característica puede mejorar el rendimiento en operaciones de solo lectura por lotes en equipos con varios procesadores o elementos centrales. El valor de datos predeterminado de esta propiedad es 0 (RowsetCacheSize=0), lo que indica que la característica de captura previa opcional está desactivada. Es recomendable establecer un valor entre 10 y 100, con un valor inicial recomendado de 10, que se puede ajustar mediante el cuadro de diálogo Todo del Asistente para orígenes de datos o Vínculos de datos. Esta propiedad indica al proveedor de datos que debe realizar una captura previa del número especificado de lotes de filas, que se almacenan en la memoria caché de conjuntos de filas del proveedor de datos. El tamaño de los lotes de fila se determina automáticamente según el valor de cRows en la interfaz IRowset::GetNextRows de OLE DB que especifique el consumidor.

Aplazar la preparación de comandos con parámetros hasta la ejecución

Preparación diferida indica al proveedor de datos que debe optimizar el procesamiento de los comandos parametrizados INSERT, UPDATE, DELETE y SELECT. Esta opción se puede especificar mediante la cadena de conexión de ADO.NET o la cadena de inicialización de origen de datos de OLE DB (Preparación diferida=True). Además, puede configurar la agrupación mediante el cuadro de diálogo Opciones avanzadas del Asistente para orígenes de datos y el cuadro de diálogo Todo de Vínculos de datos. En el caso de los comandos INSERT, UPDATE y DELETE, el proveedor de datos combina los comandos de preparación, ejecución y confirmación en un flujo de red hacia la base de datos remota. En el caso del comando SELECT, el proveedor de datos combina los comandos de preparación y ejecución en un flujo de red. Ello minimiza el tráfico de red y a menudo mejora el rendimiento global.

Recuperación de información del esquema del catálogo de sombras DB2

La propiedad de catálogo de sombras indica al proveedor de datos que debe recuperar la información del esquema de un catálogo de sombras DB2. El administrador de DB2 puede definir un catálogo de sombras que contenga la información del esquema de las tablas, columnas, claves principales e índices. Todos los consumidores de datos usan esta información del esquema en el tiempo de diseño. Algunos consumidores de datos también la usan en el tiempo de ejecución. Es posible que el catálogo del esquema DB2 deje de estar accesible debido a bloqueos durante la edición (ejecución de instrucciones de creación y modificación). Asimismo, el esquema de DB2 puede ser de gran tamaño, lo que agrega latencia a las operaciones de consumidor de datos de tiempo de diseño y tiempo de ejecución. Un catálogo de sombras puede reducir la contención y mejorar el rendimiento a la hora de realizar operaciones de recuperación de esquemas.

Enviar varias filas en una sola unidad de trabajo

El proveedor de datos admite la interfaz IRowsetFastLoad de OLE DB para permitir a los consumidores, tal como Integration Services, ejecutar varias instrucciones INSERT, UPDATE, DELETE o CALL en lotes optimizados. Este escenario hace un mejor uso de los paquetes de red TCP/IP e incrementa el rendimiento general. La opción RowsetFastLoad se selecciona al configurar los destinos de OLE DB en flujos de datos en los paquetes de Integration Services mediante el diseñador de paquetes Business Intelligence Developer Studio. La interfaz IRowsetFastLoad se admite al insertar, actualizar o eliminar filas en DB2 para z/OS V8 y V9, DB2 para i5/OS V5R4 y V6R1, y DB2 para LUW V9. Para obtener más información, vea Propiedades personalizadas de los destinos de OLE DB en el modo de acceso de Integration Services (https://go.microsoft.com/fwlink/?LinkId=241518).

Tiempo de espera del comando para finalizar consultas de larga duración

El proveedor de datos ofrece una propiedad de tiempo de espera del comando que permite finalizar automáticamente las consultas de larga duración que pueden afectar negativamente al rendimiento. El valor de DBPROP_COMMANDTIMEOUT del conjunto de filas de OLE DB es 0, que indica que no hay tiempo de espera.

Puede especificar el valor para el tiempo de espera del comando desde una variedad de consumidores. El proveedor de datos ofrece una propiedad DBPROP_COMMANDTIMEOUT del conjunto de filas de OLE DB con la que los desarrolladores de software pueden finalizar automáticamente las consultas de larga duración que pueden afectar negativamente al rendimiento. Integration Services y Analysis Services exponen esta propiedad mediante la opción Data Source Query Timeout de Business Intelligence Development Studio. Reporting Services expone esta propiedad mediante la opción Dataset Properties Timeout de Business Intelligence Development Studio. Replication y Query Processor exponen esta propiedad mediante el tiempo de espera sp_serveroption, @optname=query.

Medir el rendimiento

Para medir el rendimiento, el proveedor de datos ofrece contadores de rendimiento. Los contadores de rendimiento están desactivados de modo predeterminado. Pueden activarse si se cambia a 1 el valor de la clave siguiente del Registro:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Host Integration Server\Data Integration\UpdateCounters = 1

Los contadores de rendimiento del proveedor de datos reúnen información acerca de conexiones abiertas, instrucciones abiertas, paquetes y bytes enviados o recibidos, tiempo medio de procesamiento de host (servidor DB2), ejecuciones de comandos, recuperaciones de datos y confirmaciones o reversiones de transacciones. Para obtener más información, vea la página sobre contadores de rendimiento (https://go.microsoft.com/fwlink/?LinkID=119211).