SQL Server/SSIS 강좌

성능 카운터 – SSIS를 튜닝하자

SungWookKang 2015. 7. 16. 10:48
반응형

성능 카운터 – SSIS를 튜닝하자

 

안녕하세요 강성욱 입니다.(www.sqltag.org, www.sqler.com, http://jevida.blog.me)

이번 시간에는 성능 카운터에 대해서 알아 보도록 하겠습니다.

 

SQL Server SSIS를 설치하면 윈도우의 성능 카운터에 SSIS 카운터가 추가 됩니다.

 

SQL Server:SSIS Pipeline 과 SQL Server:SSIS Service가 SSIS의 성능 모니터링할 수 있는 카운터 입니다.

 

 

  • SQL Server:SSIS Service : SSIS Packate Instances라는 카운터 만 존재하며 현재 수행되고 있는 SSIS패키지의 개체 수를 나타냅니다.
  • SQL Server:SSIS Pipeline : 데이터 흐름 작업에서의 성능에 대한 정보를 제공. 현재 패키지가 사용하고 있는 메모리 버퍼의 크기 또는 원본 또는 대상에서의 행 수, BLOB(Binary Large Object) 데이터의 통계 정보 등을 제공.

성능 카운터

설명

BLOB bytes read

데이터 흐름 엔진이 모든 원본에서 읽어 온 BLOB 데이터의 바이트 수

BLOB bytes written

데이터 흐름 엔진이 모든 대상에 기록한 전체 BLOB 데이터의 바이트 수

BLOB files in use

데이터 흐름 엔진이 스풀링을 위해 사용하는 BLOB 파일 수

Buffer memory

사용중인 모든 유형의 메모리 버퍼 양. 이 값이 물리적인 메모리의 양보다 크면 Buffer Spolled는 늘어나며 이는 메모리의 스와핑이 증가함을 나타냅니다. 메모리 스와핑이 증가하면 데이터 흐름 엔진의 성능이 떨어짐.

Buffer in use

데이터 흐름 엔진이 현재 사용 중인 모든 유형의 버퍼 개체 수

Buffers spooled

디스크에 쓰여진 버퍼의 수. 데이터 허름 엔진에 물리적 메모리가 부족하면 현재 사용되지 않는 버퍼는 디스크에 쓰여지고 필요에 따라 다시 로드 됩니다.

Flat buffer memory

모든 플랫 버퍼가 사용하는 전체 메모리(바이트)입니다. 플랫 버퍼는 구성 요소가 데이터 저장에 사용하는 메모리 블록입니다. 플랫 버퍼는 바이트의 큰 블록이며 바이트 단위로 액세스 됩니다.

Flat buffers in use

데이터 흐름 엔진이 사용하는 플랫 버퍼 수. 모든 플랫 버퍼는 전용 버퍼 입니다.

Private buffer memory

모든 전용 버퍼가 사용하는 전체 메모리 양. 데이터 흐름 엔진이 데이터 흐름을 지원하기 위해 만드는 버퍼는 전용 버퍼가 아닙니다. 전용 버퍼는 변환 작업에서 임시 작업용으로만 사용하는 버퍼입니다. 예를 들어 집계 변환은 전용 버퍼를 사용하여 내부 계산을 수행.

Private buffers in use

변환 작업에서 사용하는 버퍼 수

Rows read

원본에서 생성하는 행 수. 조회 변환이 참조 테이블에서 읽은 행은 포함되지 않습니다.

Rows written

대상에 제공된 행 수. 대상 데이터 저장소에 쓰여진 행은 반영되지 않음.

 

  • Private Buffer – 정렬 변환이나 집계 변환등과 같이 변호나 작업 개체가 결과를 처리하기 위해 사용하는 임시 메모리 공간.
  • Flat Buffer – 데이터 흐름 작업에서 데이터를 저장하는데 이용되는 메모리 공간. 예를 들어 조회 변환에서 조회 테이블의 데이터를 임시로 저장하여 사용할 때 Flat buffer 이용.

 

 

현재 작업량에 비해 사용 가능한 메모리가 클 경우 DefaultBufferSize의 크기를 늘려 성능 향상을 유도 할 수 있습니다. Text형이나 Image같은 BLOB데이터 처리가 많은 경우 BLOBTempStoragePath를 별도로 지정하여 처리 성능을 개선할 수도 있습니다.

BLOBTempStoragePath – BLOB 데이터를 포함하는 열의 임시 저장소 위치. 세미콜론으로 디렉터리 이름을 구분하여 여러 디렉터리를 지정 할 수 있음.

BufferTempStoragePath – 버퍼 데이터의 임시 저장소 위치. 세미콜론으로 디렉터리 이름을 구분하여 여러 디렉터리를 지정할 수 있음.

DefaultBufferMaxRows – 작업시 한번에 가져올 ROW 수

DefaultBufferSize – 작업시 사용 할 버퍼 사이즈 설정.

EngineThreads – 작업에 사용할 스레드 개수.

반응형