다음을 통해 공유


SQL 어댑터와 함께 성능 카운터 사용

BizTalk 어댑터 팩 클라이언트는 성능 카운터를 사용하여 어댑터의 성능을 측정할 수 있습니다. BizTalk 어댑터 팩 설치 프로그램은 어댑터 팩 설치와 함께 성능 카운터 범주 "microsoft BizTalk adapter for SQL Server"을 만듭니다.

LOB 시간(누적) 성능 카운터

BizTalk .NET Adapter for SQL 범주에는 "LOB 시간(누적)"이라는 하나의 성능 카운터가 있습니다. 이 성능 카운터는 SQL Server 클라이언트 라이브러리가 어댑터가 시작하는 작업을 완료하는 데 걸리는 시간을 밀리초 단위로 표시합니다. SQL 어댑터는 특정 SQL Server instance 및 데이터베이스 이름에 대해 각 작업에 대한 성능 카운터의 instance 만듭니다. 인스턴스는 다음 패턴으로 만들어집니다.

<processId>:<appDomainId>:<endpointId>:<actionId>  

<endpointId><sql_server_name>, <instance_name>, <database_name>파생됩니다.

<actionId>는 다음과 같은 방식으로 파생됩니다.

  • 연결을 여는 경우 작업 ID는 "열기"입니다.

  • 인바운드 작업의 경우 작업 ID는 "인바운드"입니다.

  • 아웃바운드 작업의 경우 작업 ID는 호출되는 작업의 작업이며 "/"는 밑줄 "_"로 바뀝니다. 또한 작업 ID에는 어댑터가 내부적으로 SQL Server 데이터베이스에서 작업을 수행하는 데 사용하는 메서드에 따라 "ExecuteScalar", "ExecuteReader" 또는 "ExecuteNonQuery"가 접두사로 추가됩니다. 예를 들어 어댑터는 내부적으로 ExecuteReader 메서드를 사용하여 SQL Server 저장 프로시저를 실행합니다. 따라서 저장 프로시저 MyProcedure에 대한 작업 ID는 다음과 같습니다.

    ExecuteReader_Procedure_dbo_MyProcedure  
    

    성능 카운터는 어댑터가 SQL Server 데이터베이스를 처음 호출한 후에만 초기화됩니다. 또한 성능 카운터의 InstanceLifetime 속성은 '프로세스'로 설정됩니다. 즉, 카운터를 만드는 프로그램이 종료되는 즉시 성능 카운터가 존재하지 않습니다.

참고

LOB 시간(누적) 성능 카운터의 정밀도는 16밀리초입니다.

성능 카운터 사용

바인딩 속성 EnablePerformanceCounters를 설정하여 성능 카운터를 사용하거나 사용하지 않도록 설정할 수 있습니다. 성능 카운터를 사용하도록 설정하려면 EnablePerformanceCounters 바인딩 속성을 True로 설정합니다. 성능 카운터를 사용하지 않도록 설정하려면 EnablePerformanceCountersFalse로 설정합니다. 기본적으로 속성은 False로 설정됩니다. 이 바인딩 속성에 대한 자세한 내용은 SQL Server 어댑터 바인딩 속성에 대한 BizTalk 어댑터에 대해 읽어보세요.

성능 카운터 및 WCF LOB 어댑터 SDK

EnablePerformanceCounters 바인딩 속성의 값을 변경하면 WCF LOB 어댑터 SDK의 해당 성능 카운터 값도 변경됩니다. 또한 WCF LOB 어댑터 SDK에 대한 바인딩 속성은 정적이지만 SQL 어댑터의 바인딩 속성은 동적입니다. 따라서 애플리케이션 도메인에 SQL 어댑터 바인딩의 두 인스턴스가 있고 EnablePerformanceCounters 바인딩 속성이 하나에 True 로 설정되고 다른 하나는 False 로 설정되면 어댑터 관련 성능 카운터가 하나에서 활성화되고 다른 하나는 사용하지 않도록 설정됩니다. 그러나 WCF LOB 어댑터 SDK에 대한 바인딩 속성은 정적이므로 마지막으로 지정된 값에 따라 True 또는 False 로 설정됩니다.

참고 항목

SQL 어댑터 문제 해결