2011-02-17 9 views
1

내 회사는 제 3자가 제작 한 구성 요소를 호스팅합니다. 각 구성 요소는 자체 AppDomain에서 호스팅되지만 다른 구성 요소와 서버를 공유 할 수 있습니다. 최근에, 하나 이상의 잘못 작성된 구성 요소가 오작동하고 너무 많은 리소스를 소비하여 서버 충돌을 일으킨다 고 생각합니다. 각 구성 요소의 응용 프로그램 도메인은 (메모리, OS 핸들, CPU 사이클 등) comsunimg되어 얼마나 많은 자원을 결정하기 위해, 즉 유죄 파티입니다 구성 요소AppDomain 리소스 모니터링 및 임계 값 설정

  1. 확인 : 나는 할 수 있도록하고 싶습니다.

  2. appdomain에 임계 값을 넣으므로 구성 요소가 미친 듯이하더라도 소비 할 수있는 리소스는 제한되어 있으므로 동일한 서버의 다른 구성 요소 성능에 영향을주지 않아야합니다.

누구나 아이디어가 있습니까?

답변

3

이것은 내 질문에 대한 완전한 대답은 아니지만 대부분의 요구 사항을 충족시킵니다.

  1. 내가 가지고 위의 (1)에서 내 요구 사항의 일부를 만족하는 응용 프로그램 도메인 오브젝트 (http://msdn.microsoft.com/en-us/library/z9744cf9.aspx)의 발견 MonitoringIsEnabled, MonitoringSurvivedMemorySize, MonitoringSurvivedProcessMemorySize, MonitoringTotalAllocatedMemorySize 및 MonitoringTotalProcessorTime 속성입니다. 하지만 여전히 OS 핸들에 대해 알고 싶습니다. 가능한 경우 임계 값을 설정할 수 있어야합니다. 이게 가능합니까?

  2. 리소스 사용량에 대한 임계 값을 설정할 수없는 경우 위의 속성을 사용하여 도메인을 지속적으로 모니터링하고 특정 메모리 또는 CPU 시간을 초과하는 것으로 감지하면 언로드 할 수 있습니다.

관련 문제