에이전트 성능
CA APM 9.1부터 에이전트는 대부분의 환경에서 에이전트 성능과 스레드 동시성을 향상시켜 주는 새로운 에이전트 아키텍처를 사용합니다.
apmdevops104kr
CA APM 9.1부터 에이전트는 대부분의 환경에서 에이전트 성능과 스레드 동시성을 향상시켜 주는 새로운 에이전트 아키텍처를 사용합니다.
에이전트 성능 최적화
CA APM 에이전트 아키텍처에는 잠금 경합을 상당히 줄이고 고도의 다중 스레드 응용 프로그램에 대한 성능을 확실하게 개선하는 데이터 구조가 사용됩니다.
9.1 이전 릴리스의 PBD(ProbeBuilder 지시문) 파일은 9.1 이후 릴리스에서도 계속 사용할 수 있습니다. 그러나 이 파일에는 새로운 추적 프로그램 정의가 포함되어 있지 않습니다. 9.1 이전 릴리스의 PBD를 업그레이드하면 새로운 에이전트 성능 최적화의 이점을 얻을 수 있습니다.
참고:
사용자 지정 추적 프로그램이나 사용자 지정 추적 프로그램을 활용하는 사용자 지정 PBD를 업그레이드하려면 CA APM Implementation Services에 문의하십시오.트랜잭션 추적 사용에 대한 지침
트랜잭션 추적은 Java 및 .NET 에이전트의 유용한 기능입니다. 그러나 대규모의 트랜잭션 추적을 빈번하게 사용할 경우에는 리소스가 필요하므로 에이전트와 Enterprise Manager 모두에 오버헤드가 발생할 수 있습니다. 최상의 성능을 얻으려면 다음과 같은 베스트 프랙티스를 따르십시오.
- 트랜잭션 추적을 특정 문제 트랜잭션으로 제한하십시오.
- 경고의 임계값이 낮아 경고가 자주 트리거될 경우에는 트랜잭션 추적을 생성하도록 경고를 구성하지 마십시오.
자동으로 수집된 트랜잭션 추적 및 에이전트 오버헤드
스마트 계측이 사용되는 경우 다음과 같을 때 Introscope가 자동으로 트랜잭션 추적을 수집합니다.
- 차이 분석 기능이 응용 프로그램 불안정을 감지하고 간격당 자동 추적 클램프 제한이 초과되지 않은 경우참고:차이 분석에서 자동 트랜잭션 추적 기능을 사용하려면 최소한 10.0 버전의 에이전트가 필요합니다.
- 오류가 발생하는 경우
- ComponentTimeAutoTraceTriggerTracer추적 프로그램이 배포되었고 구성 요소 응답 시간이 초과된 경우
- 사용자 지정 조건에 따라 API가 자동 트랜잭션 추적을 트리거하는 경우 자세한 내용은 CA APM Implementation Services에 문의하십시오.
고도로 최적화되고 오버헤드가 낮은 추적 프로그램이 자동 트랜잭션 추적을 수집합니다. 자동 트랜잭션 추적은 오버헤드를 증가시키는 에이전트 필터링을 사용하는 수동, 샘플 및 기타 트랜잭션 추적에 비해 훨씬 적은 성능 오버헤드를 유발합니다. 자동 트랜잭션 추적은 다른 유형의 트랜잭션 추적이 표시하는 구성 요소 정보 속성을 모두 표시하지는 않습니다.
에이전트 오버헤드 측정 지침
다음 요인은 응용 프로그램 환경의 에이전트 오버헤드에 영향을 줍니다.
- 추적 프로그램이 실행되는 빈도(응용 프로그램 코드 경로 기준)
- 응용 프로그램 토폴로지
- 다양한 모니터링 확장 및 옵션의 구성 방식
CA APM 에이전트는 프로덕션 응용 프로그램에 추가되는 오버헤드를 최소화하도록 주의 깊게 설계되었습니다. 그러나 정확한 오버헤드 측정은 에이전트 오버헤드 요인에 따라 달라집니다. 다음은 사용 환경의 에이전트 오버헤드를 측정하려는 경우에 대한 오버헤드 테스트 설정 및 실행을 위한 몇 가지 측정 지침입니다.
- 에이전트와 에이전트에서 모니터링하는 서버(테스트 대상 시스템)를 다른 응용 프로그램 계층과는 별도의 컴퓨터에서 실행하십시오. 예를 들어 에이전트와 에이전트에서 모니터링하는 서버를 데이터베이스, 웹 서버, 부하 생성기 및 Enterprise Manager와는 별도의 컴퓨터에서 실행하십시오.
- 테스트 토폴로지의 각 구성 요소(응용 프로그램 계층, Enterprise Manager 및 로드 드라이버)에 전용 리소스를 제공하십시오. 다른 프로세스와의 경쟁이 있으면 성능 테스트 결과가 일관되지 않고 반복적이지 않습니다.
- 응용 프로그램 계층과 부하 생성기를 호스팅하는 컴퓨터는 동일한 서브넷에 있어야 합니다. 컴퓨터가 다른 서브넷에 있으면 네트워크 지연으로 인해 응답 시간 및 처리량 오버헤드 측정이 일관되지 않고 왜곡될 수 있습니다.
- 두 에이전트 버전의 성능을 비교하려면 두 테스트에 동일한 수준의 계측을 사용할 뿐 아니라 다른 요인을 동일하게 유지해야 합니다. 예를 들어 운영 체제를 동일하게 해야 합니다.
- 비교하려는 테스트 실행에 동일한 부하(사용자 수, 도착 비율 및 부하 스크립트)가 사용되어야 합니다.
- 측정 실행 후에는 에이전트 로그를 검사하여 다음과 같은 CA APM 조건을 확인하십시오.
- 발생한 구성 관련 오류가 없음
- 에이전트와 Enterprise Manager의 연결
- 발생한 메트릭 보고
- 응용 프로그램 부하가 낮으면 오버헤드 측정이 왜곡됩니다. 적은 양의 에이전트 리소스 사용은 정적이며 Enterprise Manager 통신과 관련이 있습니다. 응용 프로그램 리소스 사용량이 낮으면 이 정적 오버헤드의 상대적 중요도가 비현실적으로 확대됩니다.
스마트 계측 및 에이전트 리소스
스마트 계측에는 고도로 최적화되고 오버헤드가 낮은 추적 프로그램이 사용됩니다. 에이전트는 이러한 추적 프로그램을 통해 추가 메서드를 검색하고 자동으로 계측함으로써 PBD를 사용하지 않고도 깊은 가시성 구성 요소를 제공할 수 있습니다. 스마트 계측은 자동 트랜잭션 추적도 제공합니다.
스마트 계측은 에이전트가 깊은 가시성 구성 요소를 검색하기 위해 계측하는 관리되는 응용 프로그램 코드의 규모를 결정하는 세 개의 계측 수준을 제공합니다. 수준에는 low, medium 및 high이 있습니다. 수준을 high로 설정하면 medium 및 low 설정보다 응용 프로그램 리소스에 더 많은 영향을 주지만 최대한의 가시성이 제공됩니다. 에이전트 프로필의 introscope.agent.deep.instrumentation.level 속성을 사용하여 계측 수준을 구성합니다.
계측 수준이 변경되면 클래스가 일괄적으로 다시 로드됩니다. 수준 변경의 기간은 클래스의 수와 배치 크기 및 간격에 따라 달라집니다. 배치 크기 기본값은 일반적인 프로덕션 환경에 최적화되어 있습니다. 기본값보다 큰 값은 트랜잭션 로드가 큰 환경에서 성능 오버헤드를 증가시킬 수 있습니다. 에이전트 프로필의 introscope.agent.deep.instrumentation.level.batch.size 속성을 사용하여 배치 크기를 구성합니다.
계측 수준 설정을 변경할 때의 영향을 파악하려면 다음과 같은 스마트 계측 지속 가능성 메트릭 값을 확인하십시오.
- Agent Stats(에이전트 통계)|Sustainability(지속 가능성)|Deep Tracing(깊은 추적)|Instrumentation Level(계측 수준): Number Of Candidate Classes For Reinstrumentation(재계측 후보 클래스 수)이 값은 수준 변경 후 다시 로드되는 클래스의 총 수를 알려 줍니다.
- Agent Stats(에이전트 통계)|Sustainability(지속 가능성)|Deep Tracing(깊은 추적): Instrumented Methods Count(계측된 메서드 수)이 값은 계측되는 메서드가 늘어남에 따라 점차적으로 증가합니다.
- Agent Stats(에이전트 통계)|Sustainability(지속 가능성)|Deep Tracing(깊은 추적)|Instrumentation Level(계측 수준): Current Instrumentation Level(현재 계측 수준)이 값은 1(낮음)에서 3(높음)으로 변경됩니다.
- Agent Stats(에이전트 통계)|Sustainability(지속 가능성)|Deep Tracing(깊은 추적): Classes Processed Per Interval(간격당 처리된 클래스 수)이 값은 한 간격에서 처리되고 다시 로드되는 클래스의 수를 알려 줍니다. 재로드가 종료된 후에는 값이 0이 되거나 새로 로드된 클래스를 나타내는 작은 수로 바뀝니다.
- Agent Stats(에이전트 통계)|Sustainability(지속 가능성)|Deep Tracing(깊은 추적): Max Instrumentable Methods Count(계측 가능한 최대 메서드 수)이 메트릭은 수준이 높게 설정된 경우 계측할 수 있는 최대 메서드 수를 알려 줍니다.