Share via


COM+ 개체 풀링 개념

개체 풀링 은 구성 요소를 요청하는 모든 클라이언트에서 사용할 준비가 되어 있는 풀에서 자체 인스턴스를 활성 상태로 유지하도록 구성 요소를 구성할 수 있도록 COM+에서 제공하는 자동 서비스입니다. 풀 크기 및 만들기 요청 제한 시간 값과 같은 특성을 지정하여 지정된 구성 요소에 대해 유지 관리되는 풀을 관리적으로 구성하고 모니터링할 수 있습니다. 애플리케이션이 실행 중일 때 COM+는 풀을 관리하여 개체 활성화에 대한 세부 정보를 처리하고 지정한 조건에 따라 다시 사용합니다.

특히 재사용을 최대한 활용하기 위해 작성된 경우 이러한 방식으로 개체를 재사용하여 매우 중요한 성능 및 크기 조정 이점을 얻을 수 있습니다. 개체 풀링을 사용하면 다음과 같은 이점이 있습니다.

  • 각 클라이언트에 대해 개체 사용 시간을 단축하여 개체가 클라이언트에 대해 수행하는 실제 작업에서 시간이 많이 걸리는 초기화 및 리소스 획득을 고려할 수 있습니다.
  • 모든 클라이언트에서 비용이 많이 드는 리소스를 획득하는 비용을 공유할 수 있습니다.
  • 클라이언트 요청이 들어오기 전에 애플리케이션이 시작될 때 개체를 미리 할당할 수 있습니다.
  • 예를 들어 적절한 최대 풀 수준을 설정하여 관리 풀 관리에서 리소스 사용을 제어할 수 있습니다. 라이선스가 있는 데이터베이스 연결 수만큼만 열어 둘 수 있습니다.
  • 사용 가능한 하드웨어 리소스를 최대한 활용하도록 풀링을 관리적으로 구성할 수 있습니다. 사용 가능한 하드웨어 리소스가 변경됨에 따라 풀 구성을 쉽게 조정할 수 있습니다.
  • JIT(Just-In-Time) 활성화를 사용하는 개체의 경우 리소스가 클라이언트 전용으로 사용되는 방식을 의도적으로 제어하는 동시에 다시 활성화 시간을 단축할 수 있습니다.

풀 가능 개체 작성

풀 가능 개체는 단일 개체 instance 여러 클라이언트에서 사용할 수 있도록 특정 요구 사항을 충족해야 합니다. 예를 들어 클라이언트 상태를 유지하거나 스레드 선호도를 가질 수 없습니다. 또한 트랜잭션 개체에는 특정 요구 사항이 있습니다. 풀된 개체가 보유한 관리되는 리소스는 트랜잭션에 수동으로 참여해야 한다는 것입니다.

풀된 개체는 IObjectControl 을 구현하여 재사용 방법을 제어할 수 있습니다. 이렇게 하면 지정된 컨텍스트에서 활성화될 때 초기화를 수행하고, 비활성화 시 클라이언트 상태를 클린, 다시 사용할 수 없는 상태에 있는 경우를 나타낼 수 있습니다.

종종 생성자 문자열을 사용하여 관리적으로 사용자 지정할 수 있도록 풀링 가능한 개체를 다소 일반적인 방식으로 작성하는 것이 유용합니다. 예를 들어 생성자 문자열에 관리적으로 지정된 특정 DSN을 사용하여 제네릭 ODBC 연결을 보유하도록 개체를 작성할 수 있습니다.

다음 표에 설명된 이 섹션의 topics COM+에서 개체 풀링이 작동하는 방식에 대한 정보와 풀링 가능한 개체를 작성, 구성 및 구현하는 방법에 대한 정보를 제공합니다.

항목 설명
개체 풀링 작동 방식
기본 개념을 제시합니다.
개체 풀링을 사용하여 성능 향상
개체 풀링을 가장 효과적으로 사용하는 방법에 대한 구체적인 세부 정보를 제공합니다.
풀 가능 개체에 대한 요구 사항
풀될 개체를 작성하는 방법에 대한 세부 정보를 제공합니다.
트랜잭션 개체 풀링
풀 가능 트랜잭션 개체에 적용되는 특별한 요구 사항에 대한 세부 정보를 제공합니다.
개체 수명 및 상태 제어
풀된 개체를 구현하여 다시 사용하는 방법을 제어하는 방법을 설명합니다.

COM+ 개체 풀링 작업