Informatica의 성능 조정: 전체 자습서
⚡ 스마트 요약
Informatica의 성능 튜닝은 세션에서 가장 느린 링크를 한 단계씩 제거하며, 대상에서 소스(맵)를 거쳐 역순으로 진행합니다.ping그리고 세션, 마지막으로 운영 체제입니다.
Informatica에서 성능 튜닝이란 무엇입니까?
인포매티카에서 성능 튜닝은 세션 실행 속도를 제한하는 구성 요소를 찾아 해당 제한 요소를 제거한 다음, 다음으로 가장 느린 구성 요소에 대해 동일한 작업을 반복하는 과정입니다. 세션의 속도는 가장 느린 계층의 속도에 따라 결정되므로, 애초에 문제가 되지 않았던 변환을 튜닝해도 실질적인 성능 향상은 없습니다.
Informatica는 병목 현상이 발생할 수 있는 다섯 가지 지점을 식별하고, 정해진 순서대로 점검할 것을 권장합니다.
| 주문번호 | 층 | 일반적인 원인 |
| 1 | Target | 쓰기 속도가 느리고, 체크포인트 간격이 짧고, 데이터베이스 네트워크 패킷 크기가 작습니다. |
| 2 | 출처 | 쿼리 속도가 느리거나, 인덱스가 누락되었거나, 불필요한 열을 읽고 있는 경우 |
| 3 | 지도ping | 비싸거나 위치가 부적절한 변환, 과도하게 큰 캐시 |
| 4 | 세션 | Buffer 메모리, 커밋 간격, 파티셔닝, 로드 유형 |
| 5 | 시스템 | 통합 서비스 머신에서 CPU 포화, I/O 대기, 페이징 발생 |
순서는 의도적입니다. 행을 충분히 빠르게 처리하지 못하는 대상은 상위 계층 전체가 느려 보이게 만들므로 먼저 검사합니다. 전체 방법은 문서에 설명되어 있습니다. PowerCenter 성능 튜닝 가이드.
성능 병목 현상을 식별하는 방법
어느 층이 느린지 추측하는 것보다 측정하는 것이 시간을 더 많이 낭비합니다. 위에서 언급한 다섯 층을 모두 포괄하는 네 가지 기술이 있습니다.
- 테스트 세션을 실행하세요. 복사본을 구성합니다. 세션 플랫 파일 대상에 쓰기 작업을 수행합니다. 세션 속도가 눈에 띄게 빨라지면 대상이 병목 현상의 원인입니다. 동일한 방법을 사용하여 플랫 파일 소스에서 읽기 작업을 수행하면 소스의 병목 현상을 찾아낼 수 있습니다.
- 스레드 통계를 분석합니다. 데이터 변환 관리자는 읽기 스레드, 하나 이상의 변환 스레드 및 쓰기 스레드를 실행합니다. 세션 로그에서 가장 바쁜 시간을 기록한 스레드는 작업할 레이어를 직접 지정합니다. 읽기 스레드는 소스 레이어를, 변환 스레드는 맵 레이어를 지정합니다.ping목표 대상을 위한 작가.
- 성능 세부 정보를 분석합니다. 세션에서 성능 데이터 수집을 활성화하고 카운터를 읽으십시오. 오류 행 수가 많거나 조회 캐시에 행 수가 많으면 맵에 문제가 있음을 나타냅니다.ping 데이터베이스 문제가 아니라 근본적인 문제입니다.
- 시스템을 모니터링하세요. OperaCPU 사용량, I/O 대기 시간 및 페이징을 보여주는 시스템 도구와 함께 워크플로우 모니터 리소스 보기를 통해 시스템의 용량이 부족한 상태임을 확인할 수 있습니다.
담당 계층이 파악되면 다음 섹션의 변환 수준 조언을 적용할 가치가 생깁니다. 섹션은 데이터가 입력되는 지점부터 파이프라인 순서대로 배열되어 있습니다. 지도ping 집계되는 지점까지.
소스 한정자 변환
소스 한정자가 읽지 않는 모든 행은 다른 변환에서 처리할 필요가 없는 행이므로 전체 맵에서 가장 비용이 적게 드는 위치입니다.ping 시간을 절약하기 위해.
- 소스에서 필요한 열만 가져옵니다. 원본 테이블의 모든 컬럼이 필요한 것은 아닌 경우가 대부분이므로 불필요한 컬럼을 삭제하여 필요한 필드만 가져옵니다.
- ORDER BY 절을 내부에 사용하지 마십시오. 소스 한정자 SQL 오버라이드. ORDER BY 절은 추가적인 처리를 필요로 하므로, 이를 생략하면 성능을 향상시킬 수 있습니다.
필터 변환
필터링은 파이프라인에서 한 단계 뒤에 동일한 원칙을 따릅니다. 즉, 맵에서 원치 않는 행을 가장 빠른 시점에서 제거합니다.ping 그들을 식별할 수 있는 충분한 정보가 있습니다.
- 필터 변환 지도상에서 최대한 빨리ping원치 않는 데이터를 지도에서 초기에 제거할 수 있다면ping그러면 처리량이 증가할 것입니다.
- 소스 한정자를 사용하여 데이터를 필터링할 수 있습니다. 필터 변환을 사용하는 대신 소스 한정자 SQL 재정의를 사용하여 레코드를 필터링할 수도 있습니다.
조이너 변환
가입은 일반적인 맵에서 처음으로 실제로 비용이 많이 드는 작업입니다.ping세부 행을 마스터 소스와 비교하기 전에 마스터 소스를 캐시해야 하기 때문입니다.
- 가능하다면 데이터베이스에서 조인을 수행하는 것이 Informatica에서 생성하는 조인보다 빠르므로 항상 데이터베이스 조인을 우선적으로 고려하십시오. 조이너 변환.
- 조인 중에 수행되는 디스크 I/O가 감소하므로 조인하기 전에 데이터를 정렬하십시오.
- 행 수가 가장 적은 테이블을 마스터 테이블로 만드세요.
세 번째 요점은 가장 자주 간과되는 부분입니다. 통합 서비스는 마스터 소스를 캐시하므로 더 작은 테이블을 마스터로 지정하면 캐시 크기를 줄일 수 있습니다.
조회 변환
조회는 행당 한 번씩 데이터베이스를 쿼리하거나 메모리에 캐시를 구축하는 두 가지 방식이 있는데, 두 방식 모두 더 작고 인덱싱이 잘 된 조회 소스를 사용하는 것이 유리합니다.
- 해당 열에 인덱스를 생성합니다. 조회 테이블 이는 조회 조건에 사용됩니다. 일치하는 데이터를 찾기 위해 조회 테이블을 쿼리하므로 인덱스를 추가하면 성능이 향상됩니다.
- 가능하다면 조회 변환을 사용하는 대신 데이터베이스에서 조인을 사용하십시오. 데이터베이스 조인 속도가 빨라지면 성능도 향상됩니다.
- 조회 테이블에서 불필요한 열을 삭제하고 필요한 열만 유지합니다. 이렇게 하면 데이터베이스에서 추가 열을 가져오는 오버헤드가 줄어듭니다.
애그리게이터 변환
An 애그리 게이터 (aggregator) 캐시는 행을 그룹화하는 동안 데이터를 캐시에 저장하므로, 캐시에 도달하는 데이터 양을 줄이면 필요한 캐시 크기도 줄어듭니다.
- 데이터를 집계하기 전에 필터링하세요. 지도에서 필터 변환을 사용하는 경우ping그런 다음 집계기를 사용하기 전에 데이터를 필터링하면 불필요한 집계 작업을 줄일 수 있습니다.
- 집계 변환에 사용되는 포트 수를 제한하십시오. 이렇게 하면 집계 변환이 캐시에 저장하는 데이터 양이 줄어듭니다.
Informatica에서의 세션 수준 튜닝
지도가ping 그 자체는 깔끔하며, 나머지 성능 향상은 세션 속성에서 비롯됩니다. 이러한 설정은 메모리 사용량을 희생하여 속도를 향상시키는 경우가 많으므로, 변경 후 시간을 측정하면서 하나씩 변경하는 것이 좋습니다.
| 환경 | 그것이 제어하는 것 | 언제 변경해야 할까요? |
| DTM 버퍼 크기 | 통합 서비스가 소스 및 대상 데이터 블록에 할당하는 총 메모리 용량 | 세션이 많은 파티션, 소스 또는 대상을 처리할 때 증가하십시오. |
| Buffer 블록 크기 | 개별 메모리 블록의 크기 | 행 크기가 비정상적으로 큰 경우 값을 늘리고, 물리적 메모리가 제한적인 경우 값을 줄입니다. |
| 커밋 간격 | 커밋이 발생하기 전에 몇 개의 행이 기록됩니까? | 작성 스레드가 데이터베이스 체크포인트를 기다리는 데 시간을 많이 소비할 때 이 문제를 제기하십시오. |
| 푸시다운 최적화 | 지도의 어느 부분ping 논리는 SQL로 변환되어 데이터베이스에서 실행됩니다. | 소스와 대상이 동일한 강력한 데이터베이스에 있는 경우에 사용합니다. |
Buffer 메모리 할당은 추측이 아닌 문서화된 계산 방식을 따릅니다. 통합 서비스는 각 소스 및 대상 파티션에 최소 두 개의 블록을 할당하므로 세션 버퍼 블록 수는 (총 소스 수 + 총 대상 수)에 2를 곱한 값이고, DTM 버퍼 크기는 해당 블록 수에 버퍼 블록 크기를 곱한 후 0.9로 나눈 값입니다.
푸시다운 최적화는 주의가 필요합니다. 데이터베이스가 통합 서비스 머신보다 실제로 빠르고 변환 로직을 표현할 수 있는 경우에만 도움이 됩니다. SQL번역할 수 없는 로직은 세션에 남아 있으므로, 효과가 예상보다 작을 수 있습니다. 기본값으로 설정하기보다는 변경 전후를 측정하는 것이 좋습니다.

