Ajuste del rendimiento en Informatica: tutorial completo
⚡ Resumen inteligente
La optimización del rendimiento en Informatica elimina el enlace más lento de una sesión, capa por capa, trabajando desde el destino hacia atrás a través del origen, el mapa.ping, la sesión y finalmente el sistema operativo.

¿Qué es la optimización del rendimiento en Informatica?
La optimización del rendimiento en Informatica consiste en identificar el componente que limita la velocidad de una sesión, eliminar dicho límite y repetir el proceso con el componente que resulte más lento. La velocidad de una sesión depende exclusivamente de su capa más lenta, por lo que optimizar una transformación que nunca fue el problema no produce ninguna mejora apreciable.
Informatica identifica cinco puntos donde puede producirse un cuello de botella y recomienda revisarlos en un orden fijo.
| Pedido | Capa | Causa típica |
| 1 | Target | Escrituras lentas, intervalos de puntos de control pequeños, tamaños de paquetes de red de base de datos pequeños |
| 2 | Fuente | Consulta lenta, índices faltantes, lectura de columnas innecesarias |
| 3 | Mapeo | Transformaciones costosas o mal ubicadas, cachés de gran tamaño. |
| 4 | Sesión | Buffer memoria, intervalo de confirmación, particionamiento, tipo de carga |
| 5 | Sistema | Saturación de CPU, esperas de E/S, paginación en la máquina del Servicio de Integración. |
El orden es deliberado. Un objetivo que no puede absorber filas lo suficientemente rápido hará que cada capa anterior parezca lenta, por lo que se comprueba primero. El método completo está documentado en el Guía de optimización del rendimiento de PowerCenter.
Cómo identificar cuellos de botella en el rendimiento
Adivinar qué capa es la más lenta consume más tiempo que medirla. Cuatro técnicas abarcan las cinco capas mencionadas anteriormente.
- Ejecuta una sesión de prueba. Configurar una copia de la durante toda la sesión. Para escribir en un archivo plano, si la sesión se acelera notablemente, el cuello de botella se encuentra en el archivo plano. El método inverso, que consiste en leer desde un archivo plano, permite identificar el cuello de botella en el origen.
- Analizar las estadísticas de los hilos. El Administrador de Transformación de Datos ejecuta un hilo de lectura, uno o más hilos de transformación y un hilo de escritura. El hilo con el mayor tiempo de actividad en el registro de sesión apunta directamente a la capa en la que trabajar: lector para la fuente, transformación para el mapa.ping, escritor para el objetivo.
- Analizar los detalles de rendimiento. Habilite la recopilación de datos de rendimiento en la sesión y lea los contadores. Un alto número de filas con errores o una gran cantidad de filas en una caché de búsqueda indican un mapa.ping problema en lugar de un problema de base de datos.
- Supervise el sistema. Operaherramientas del sistema que muestran el uso de la CPU, las esperas de E/S y la paginación, junto con la Monitor de flujo de trabajo Las vistas de recursos revelan que la máquina simplemente está fuera de capacidad.
Una vez que se conoce la capa responsable, vale la pena aplicar los consejos a nivel de transformación en las siguientes secciones. Las secciones están organizadas en orden de canalización, desde el punto donde los datos ingresan a la mapaping hasta el punto en que se agrega.
Transformación de calificador de fuente
Cada fila que el calificador de origen no lee es una fila que ninguna otra transformación tiene que procesar, lo que lo convierte en el lugar más barato de todo el mapa.ping para ahorrar tiempo.
- Traiga solo las columnas requeridas de la fuente. La mayoría de las veces no todas las columnas de la tabla de origen son obligatorias, así que traiga sólo los campos obligatorios eliminando las columnas innecesarias.
- Evite usar la cláusula ORDER BY dentro del Calificador de fuente Sobrescritura SQL. La cláusula ORDER BY requiere procesamiento adicional y el rendimiento puede mejorarse evitándola.
Transformación de filtro
El filtrado sigue el mismo principio un paso más adelante en la cadena: descartar las filas no deseadas en el punto más temprano en el que el mapaping tiene suficiente información para identificarlos.
- Usar transformación de filtro lo antes posible dentro del mapapingSi los datos no deseados se pueden descartar al principio del mapaping, aumentaría el rendimiento.
- Utilice el calificador de origen para filtrar los datos. También puede usar la anulación SQL del calificador de origen para filtrar los registros, en lugar de usar la transformación de filtro.
Transformación Joiner
Unirse es la primera operación realmente costosa en un mapa típico.ping, porque la fuente maestra debe almacenarse en caché antes de que las filas de detalle puedan compararse con ella.
- Siempre que sea posible, es preferible realizar las uniones en la base de datos, ya que las uniones en la base de datos son más rápidas que las uniones creadas en Informatica. transformación de carpintero.
- Ordene los datos antes de unirlos si es posible, ya que disminuye la E/S del disco realizada durante la unión.
- Establezca como tabla maestra la tabla con menor número de filas.
El tercer punto es el que con mayor frecuencia se pasa por alto. El Servicio de Integración almacena en caché la fuente maestra, por lo que designar la tabla más pequeña como maestra mantiene esa caché reducida.
Transformación de búsqueda
Una búsqueda puede consultar la base de datos una vez por fila o crear una caché en memoria, y ambas opciones favorecen una fuente de búsqueda más pequeña y mejor indexada.
- Cree un índice para la columna en un tabla de búsqueda que se utiliza en la condición de búsqueda. Dado que se consultará la tabla de búsqueda para encontrar los datos coincidentes, agregar un índice mejoraría el rendimiento.
- Si es posible, en lugar de utilizar la transformación de búsqueda, utilice unirse en la base de datos. A medida que las uniones a bases de datos sean más rápidas, aumentará el rendimiento.
- Elimine las columnas innecesarias de la tabla de búsqueda y conserve solo las columnas requeridas. Esto reducirá la sobrecarga de buscar columnas adicionales de la base de datos.
Transformación de agregador
An Aggregator Almacena datos en caché mientras agrupa filas, por lo que cualquier cosa que reduzca el volumen de datos que recibe reduce la caché que necesita.
- Filtra los datos antes de agregarlos. Si estás utilizando la transformación de filtro en el mapapingLuego, filtre los datos antes de usar el agregador, ya que esto reducirá la operación de agregación innecesaria.
- Limite el número de puertos utilizados en la transformación de agregación. Esto reducirá el volumen de datos que la transformación de agregación almacena en la caché.
Ajuste a nivel de sesión en Informatica
Cuando el mapaping El sistema en sí es eficiente; las mejoras restantes provienen de las propiedades de la sesión. Conviene modificar estos ajustes uno a uno, realizando una prueba cronometrada después de cada cambio, ya que varios de ellos implican sacrificar memoria en aras de la velocidad.
| Configuración | Lo que controla | Cuándo cambiarlo |
| Tamaño del búfer DTM | Memoria total que el Servicio de Integración asigna para los bloques de datos de origen y destino. | Aumenta cuando la sesión maneja muchas particiones, orígenes o destinos. |
| Buffer tamaño de bloque | Tamaño de un bloque de memoria individual | Aumentar para filas inusualmente grandes; disminuir cuando la memoria física es limitada. |
| Intervalo de compromiso | ¿Cuántas filas se escriben antes de que se emita una confirmación? | Genera este error cuando el hilo de escritura dedique su tiempo a esperar puntos de control de la base de datos. |
| Optimización de empuje | ¿Qué parte del mapa?ping La lógica se convierte en SQL y es ejecutada por la base de datos. | Úselo cuando el origen y el destino se encuentren en la misma base de datos potente. |
Buffer La memoria se basa en un cálculo documentado en lugar de conjeturas. El Servicio de Integración asigna al menos dos bloques para cada partición de origen y destino, por lo que el número de bloques del búfer de sesión es (orígenes totales + destinos totales) multiplicado por dos, y el tamaño del búfer DTM es ese número de bloques multiplicado por el tamaño del bloque del búfer y dividido por 0.9.
La optimización pushdown merece una advertencia. Solo ayuda cuando la base de datos es realmente más rápida que la máquina del Integration Service y la lógica de transformación se puede expresar en SQLLa lógica que no se puede traducir permanece en la sesión, por lo que la mejora suele ser menor de lo esperado. Mida antes y después en lugar de habilitarlo por defecto.
