Performance Analyzer metrics reference
출처: 문서
본문
Performance Analyzer 메트릭 참조
Performance Analyzer는 성능을 평가하는 데 도움이 되는 다양한 메트릭을 제공해요. 다음 표에서는 사용할 수 있는 메트릭을, 각 메트릭과 가장 관련이 깊은 차원별로 묶어서 설명해요. 모든 메트릭은 avg, sum, min, max 집계를 지원하지만, 일부 메트릭은 집계 유형과 관계없이 측정값이 동일해요.
각 차원에 대한 자세한 내용은 이 문서 뒷부분의 차원 참조를 참고하세요.
관련 차원: ShardID, IndexName, Operation, ShardRole
| Metric | Description |
|---|---|
CPU_Utilization |
CPU 사용률이에요. 지난 5초 동안 관련 스레드가 사용한 CPU 시간(밀리초)을 5000밀리초로 나눈 값이에요. |
Paging_MajfltRate |
지난 5초 동안의 초당 메이저 폴트 횟수예요. 메이저 폴트는 프로세스가 디스크에서 메모리 페이지를 로드해야 하는 경우예요. |
Paging_MinfltRate |
지난 5초 동안의 초당 마이너 폴트 횟수예요. 마이너 폴트는 프로세스가 디스크에서 메모리 페이지를 로드할 필요가 없는 경우예요. |
Paging_RSS |
프로세스가 실제 메모리에 보유한 페이지 수---텍스트, 데이터, 스택 공간에 포함되는 페이지들이에요. 이 수치에는 요청 시 로드되지 않았거나 스왑 아웃된 페이지는 포함되지 않아요. |
Sched_Runtime |
컨텍스트 스위치당 CPU에서 실행하는 데 소요된 시간(초)이에요. |
Sched_Waittime |
컨텍스트 스위치당 런 큐에서 대기하는 데 소요된 시간(초)이에요. |
Sched_CtxRate |
지난 5초 동안의 초당 CPU 실행 횟수예요. |
Heap_AllocRate |
지난 5초 동안 초당 할당된 힙 메모리의 근삿값(바이트)이에요. |
IO_ReadThroughput |
지난 5초 동안의 초당 읽은 바이트 수예요. |
IO_WriteThroughput |
지난 5초 동안의 초당 쓴 바이트 수예요. |
IO_TotThroughput |
지난 5초 동안의 초당 읽거나 쓴 바이트 수예요. |
IO_ReadSyscallRate |
지난 5초 동안의 초당 읽기 시스템 콜 수예요. |
IO_WriteSyscallRate |
지난 5초 동안의 초당 쓰기 시스템 콜 수예요. |
IO_TotalSyscallRate |
지난 5초 동안의 초당 읽기 및 쓰기 시스템 콜 수예요. |
Thread_Blocked_Time |
관련 스레드가 모니터에 진입하거나 재진입하지 못하고 차단된 평균 시간(초)이에요. |
Thread_Blocked_Event |
관련 스레드가 모니터에 진입하거나 재진입하지 못하고 차단된 총 횟수예요(즉, 스레드가 blocked 상태였던 횟수). |
Thread_Waited_Time |
관련 스레드가 모니터에 진입하거나 재진입하기 위해 대기한 평균 시간(초)이에요(즉, 스레드가 WAITING 또는 TIMED_WAITING 상태였던 시간)". |
Thread_Waited_Event |
관련 스레드가 모니터에 진입하거나 재진입하기 위해 대기한 총 횟수예요(즉, 스레드가 WAITING 또는 TIMED_WAITING 상태였던 횟수). |
ShardEvents |
지난 5초 동안 샤드에서 실행된 이벤트의 총 개수예요. |
ShardBulkDocs |
지난 5초 동안 인덱싱된 문서의 총 개수예요. |
관련 차원: ShardID, IndexName
| Metric | Description |
|---|---|
Indexing_ThrottleTime |
지난 5초 동안 인덱스가 병합 스로틀링 제어 하에 있었던 시간(밀리초)이에요. |
Cache_Query_Hit |
지난 5초 동안 쿼리 캐시에서 성공한 조회 횟수예요. |
Cache_Query_Miss |
지난 5초 동안 쿼리 캐시에서 DocIdSet을 가져오지 못한 조회 횟수예요. DocIdSet은 Lucene의 문서 ID 집합이에요. |
Cache_Query_Size |
쿼리 캐시 메모리 크기(바이트)예요. |
Cache_FieldData_Eviction |
지난 5초 동안 OpenSearch가 fielddata 힙 공간에서 데이터를 축출한 횟수예요(힙 공간이 가득 찼을 때 발생해요). |
Cache_FieldData_Size |
fielddata 메모리 크기(바이트)예요. |
Cache_Request_Hit |
지난 5초 동안 샤드 요청 캐시에서 성공한 조회 횟수예요. |
Cache_Request_Miss |
지난 5초 동안 요청 캐시에서 검색 요청 결과를 가져오지 못한 조회 횟수예요. |
Cache_Request_Eviction |
지난 5초 동안 OpenSearch가 샤드 요청 캐시에서 데이터를 축출한 횟수예요(요청 캐시가 가득 찼을 때 발생해요). |
Cache_Request_Size |
샤드 요청 캐시 메모리 크기(바이트)예요. |
관련 차원: ShardID, IndexName, IndexingStage
| Metric | Description |
|---|---|
Indexing_Pressure_Current_Limits |
특정 인덱싱 단계(Coordinating, Primary, Replica)에서 인덱스 샤드가 사용할 수 있는 총 힙 크기(바이트)예요. |
Indexing_Pressure_Current_Bytes |
특정 인덱싱 단계(Coordinating, Primary, Replica)에서 인덱스 샤드가 차지하는 총 힙 크기(바이트)예요. |
Indexing_Pressure_Last_Successful_Timestamp |
특정 인덱싱 단계(Coordinating, Primary, Replica)에서 인덱스 샤드의 마지막으로 성공한 요청의 타임스탬프예요. |
Indexing_Pressure_Rejection_Count |
특정 인덱싱 단계(Coordinating, Primary, Replica)에서 OpenSearch가 인덱스 샤드에 대해 수행한 거부 총 횟수예요. |
Indexing_Pressure_Average_Window_Throughput |
특정 인덱싱 단계(Coordinating, Primary, Replica)에서 인덱스 샤드의 최근 n개 요청에 대한 평균 처리량이에요(n 값은 shard_indexing_pressure.secondary_parameter.throughput.request_size_window 설정으로 결정돼요). |
관련 차원: Operation, Exception, Indices, HTTPRespCode, ShardID, IndexName, ShardRole
| Metric | Description |
|---|---|
Latency |
요청의 지연 시간(밀리초)이에요. |
관련 차원: MemType
| Metric | Description |
|---|---|
GC_Collection_Event |
지난 5초 동안 발생한 가비지 컬렉션 횟수예요. |
GC_Collection_Time |
지난 5초 동안 발생한 모든 가비지 컬렉션의 누적 시간 근삿값(밀리초)이에요. |
Heap_Committed |
JVM이 사용하도록 커밋된 메모리 양(바이트)이에요. |
Heap_Init |
JVM이 메모리 관리를 위해 운영체제에 처음 요청하는 메모리 양(바이트)이에요. |
Heap_Max |
메모리 관리에 사용할 수 있는 최대 메모리 양(바이트)이에요. |
Heap_Used |
사용 중인 메모리 양(바이트)이에요. |
관련 차원: DiskName
| Metric | Description |
|---|---|
Disk_Utilization |
디스크 사용률이에요. 지난 5초 동안 OpenSearch 프로세스가 읽기와 쓰기에 소요한 디스크 시간의 백분율이에요. |
Disk_WaitTime |
지난 5초 동안 읽기 및 쓰기 작업의 평균 소요 시간(밀리초)이에요. |
Disk_ServiceRate |
서비스율이에요. 지난 5초 동안 초당 읽거나 쓴 MB예요. 이 메트릭은 각 디스크 섹터가 512바이트를 저장한다고 가정해요. |
관련 차원: DestAddr
| Metric | Description |
|---|---|
Net_TCP_NumFlows |
수집된 샘플 수예요. Performance Analyzer는 5초마다 1개의 샘플을 수집해요. |
Net_TCP_TxQ |
송신 버퍼에 있는 TCP 패킷의 평균 개수예요. |
Net_TCP_RxQ |
수신 버퍼에 있는 TCP 패킷의 평균 개수예요. |
Net_TCP_Lost |
복구되지 않은 반복 타임아웃의 평균 개수예요. 이 수치는 복구가 완료되거나 SND.UNA가 진행되면 초기화돼요. SND.UNA는 전송되었지만 아직 승인되지 않은 데이터 중 첫 번째 바이트의 시퀀스 번호예요. |
Net_TCP_SendCWND |
송신 혼잡 윈도우의 평균 크기(바이트)예요. |
Net_TCP_SSThresh |
슬로우 스타트 크기 임계값의 평균 크기(바이트)예요. |
관련 차원: Direction
| Metric | Description |
|---|---|
Net_PacketRate4 |
인터페이스가 초당 전송/수신한 IPv4 데이터그램의 총 개수예요. 오류가 발생한 채 전송되거나 수신된 것도 포함돼요. |
Net_PacketDropRate4 |
초당 오류로 전송되거나 수신된 IPv4 데이터그램의 총 개수예요. |
Net_PacketRate6 |
인터페이스가 초당 전송하거나 수신한 IPv6 데이터그램의 총 개수예요. 오류가 발생한 채 전송되거나 수신된 것도 포함돼요. |
Net_PacketDropRate6 |
초당 오류로 전송되거나 수신된 IPv6 데이터그램의 총 개수예요. |
Net_Throughput |
모든 네트워크 인터페이스가 초당 전송하거나 수신하는 비트 수예요. |
관련 차원: ThreadPoolType
| Metric | Description |
|---|---|
ThreadPool_QueueSize |
태스크 큐의 크기예요. |
ThreadPool_RejectedReqs |
거부된 실행 횟수예요. |
ThreadPool_TotalThreads |
풀에 있는 현재 스레드 수예요. |
ThreadPool_ActiveThreads |
활발히 태스크를 실행하고 있는 스레드 수의 근삿값이에요. |
ThreadPool_QueueLatency |
태스크 큐의 지연 시간이에요. |
ThreadPool_QueueCapacity |
태스크 큐의 현재 용량이에요. |
관련 차원: ClusterManager_PendingTaskType
| Metric | Description |
|---|---|
ClusterManager_PendingQueueSize |
클러스터 상태 업데이트 스레드에서 대기 중인 태스크의 현재 개수예요. 각 노드에는 인덱스 생성, 매핑 업데이트, 샤드 할당, 샤드 실패 같은 클러스터 상태 업데이트 태스크를 제출하는 클러스터 상태 업데이트 스레드가 있어요. |
관련 차원: Operation, Exception, Indices, HTTPRespCode
| Metric | Description |
|---|---|
HTTP_RequestDocs |
요청에 담긴 항목 수예요(_bulk 요청 타입에만 해당해요). |
HTTP_TotalRequests |
지난 5초 동안 완료된 요청 수예요. |
관련 차원: CBType
| Metric | Description |
|---|---|
CB_EstimatedSize |
현재 추정된 바이트 수예요. |
CB_TrippedEvents |
서킷 브레이커가 작동한 횟수예요. |
CB_ConfiguredSize |
작업이 사용할 수 있는 메모리 양의 한도(바이트)예요. |
관련 차원: ClusterManagerTaskInsertOrder, ClusterManagerTaskPriority, ClusterManagerTaskType, ClusterManagerTaskMetadata
| Metric | Description |
|---|---|
ClusterManager_Task_Queue_Time |
클러스터 매니저 태스크가 큐에서 보낸 시간(밀리초)이에요. |
ClusterManager_Task_Run_Time |
클러스터 매니저 태스크가 실행 중인 시간(밀리초)이에요. |
관련 차원: CacheType
| Metric | Description |
|---|---|
Cache_MaxSize |
캐시의 최대 크기(바이트)예요. |
관련 차원: ControllerName
| Metric | Description |
|---|---|
AdmissionControl_RejectionCount |
Admission Control 컨트롤러가 수행한 거부 총 횟수예요. |
AdmissionControl_CurrentValue |
Admission Control 컨트롤러의 현재 값이에요. |
AdmissionControl_ThresholdValue |
Admission Control 컨트롤러의 임계값이에요. |
관련 차원: NodeID
| Metric | Description |
|---|---|
Data_RetryingPendingTasksCount |
데이터 노드가 적극적으로 재시도를 수행하고 있는, 스로틀링된 대기 태스크의 개수예요. 현재 타임스탬프에서 측정한 절대 메트릭이에요. |
ClusterManager_ThrottledPendingTasksCount |
클러스터 매니저 노드가 스로틀링한 대기 태스크 전체의 합이에요. 누적 메트릭이므로 max 집계를 꼭 확인해 보세요. |
관련 차원: N/A
다음 메트릭은 클러스터 전체와 관련된 것으로, 특정 차원이 필요하지 않아요.
| Metric | Description |
|---|---|
Election_Term |
클러스터 매니저 선거가 일어날 때마다 단조 증가하는 수예요. |
PublishClusterState_Latency |
쿼럼 노드들이 새 클러스터 상태를 게시하는 데 걸린 시간이에요. 이 메트릭은 현재 클러스터 매니저에서 사용할 수 있어요. |
PublishClusterState_Failure |
클러스터 매니저 노드에서 새 클러스터 상태 게시가 실패한 횟수예요. |
ClusterApplierService_Latency |
각 노드가 클러스터 매니저가 보낸 클러스터 상태를 적용하는 데 걸린 시간이에요. |
ClusterApplierService_Failure |
각 노드에서 클러스터 상태 적용 작업이 실패한 횟수예요. |
관련 차원: IndexName, NodeName, ShardType, ShardID
| Metric | Description |
|---|---|
Shard_State |
각 샤드의 상태예요. 예를 들면 STARTED, UNASSIGNED, RELOCATING이 있어요. |
관련 차원: NodeID, searchbp_mode
| Metric | Description |
|---|---|
SearchBP_Shard_Stats_CancellationCount |
샤드 태스크 수준에서 취소 표시된 태스크 수예요. |
SearchBP_Shard_Stats_LimitReachedCount |
샤드 태스크 수준에서 취소 가능 태스크 총수가 설정된 취소 임계값을 초과한 횟수예요. |
SearchBP_Shard_Stats_Resource_Heap_Usage_CancellationCount |
샤드 태스크 수준에서 노드가 마지막으로 재시작된 이후 과도한 힙 사용량 때문에 취소 표시된 태스크 수예요. |
SearchBP_Shard_Stats_Resource_Heap_Usage_CurrentMax |
샤드 태스크 수준에서 현재 실행 중인 태스크의 최대 힙 사용량이에요. |
SearchBP_Shard_Stats_Resource_Heap_Usage_RollingAvg |
샤드 태스크 수준에서 가장 최근 n개 태스크의 힙 사용량 이동 평균이에요. n의 기본값은 100이에요. |
SearchBP_Shard_Stats_Resource_CPU_Usage_CancellationCount |
샤드 태스크 수준에서 노드가 마지막으로 재시작된 이후 과도한 CPU 사용량 때문에 취소 표시된 태스크 수예요. |
SearchBP_Shard_Stats_Resource_CPU_Usage_CurrentMax |
샤드 태스크 수준에서 현재 노드에서 실행 중인 모든 태스크의 최대 CPU 시간이에요. |
SearchBP_Shard_Stats_Resource_CPU_Usage_CurrentAvg |
샤드 태스크 수준에서 현재 노드에서 실행 중인 모든 태스크의 평균 CPU 시간이에요. |
SearchBP_Shard_Stats_Resource_ElaspedTime_Usage_CancellationCount |
샤드 태스크 수준에서 노드가 마지막으로 재시작된 이후 과도한 경과 시간 때문에 취소 표시된 태스크 수예요. |
SearchBP_Shard_Stats_Resource_ElaspedTime_Usage_CurrentMax |
샤드 태스크 수준에서 현재 노드에서 실행 중인 모든 태스크의 최대 경과 시간이에요. |
SearchBP_Shard_Stats_Resource_ElaspedTime_Usage_CurrentAvg |
샤드 태스크 수준에서 현재 노드에서 실행 중인 모든 태스크의 평균 경과 시간이에요. |
Searchbp_Task_Stats_CancellationCount |
검색 태스크 수준에서 취소 표시된 태스크 수예요. |
SearchBP_Task_Stats_LimitReachedCount |
검색 태스크 수준에서 취소 가능 태스크 총수가 설정된 취소 임계값을 초과한 횟수예요. |
SearchBP_Task_Stats_Resource_Heap_Usage_CancellationCount |
검색 태스크 수준에서 노드가 마지막으로 재시작된 이후 과도한 힙 사용량 때문에 취소 표시된 태스크 수예요. |
SearchBP_Task_Stats_Resource_Heap_Usage_CurrentMax |
검색 태스크 수준에서 현재 실행 중인 태스크의 최대 힙 사용량이에요. |
SearchBP_Task_Stats_Resource_Heap_Usage_RollingAvg |
검색 태스크 수준에서 가장 최근 n개 태스크의 힙 사용량 이동 평균이에요. n의 기본값은 10이에요. |
SearchBP_Task_Stats_Resource_CPU_Usage_CancellationCount |
검색 태스크 수준에서 노드가 마지막으로 재시작된 이후 과도한 CPU 사용량 때문에 취소 표시된 태스크 수예요. |
SearchBP_Task_Stats_Resource_CPU_Usage_CurrentMax |
검색 태스크 수준에서 현재 노드에서 실행 중인 모든 태스크의 최대 CPU 시간이에요. |
SearchBP_Task_Stats_Resource_CPU_Usage_CurrentAvg |
검색 태스크 수준에서 현재 노드에서 실행 중인 모든 태스크의 평균 CPU 시간이에요. |
SearchBP_Task_Stats_Resource_ElaspedTime_Usage_CancellationCount |
검색 태스크 수준에서 노드가 마지막으로 재시작된 이후 과도한 경과 시간 때문에 취소 표시된 태스크 수예요. |
SearchBP_Task_Stats_Resource_ElaspedTime_Usage_CurrentMax |
검색 태스크 수준에서 현재 노드에서 실행 중인 모든 태스크의 최대 경과 시간이에요. |
SearchBP_Task_Stats_Resource_ElaspedTime_Usage_CurrentAvg |
검색 태스크 수준에서 현재 노드에서 실행 중인 모든 태스크의 평균 경과 시간이에요. |
차원 참조
| Dimension | Return values |
|---|---|
ShardID |
샤드의 ID예요(예: 1). |
IndexName |
인덱스의 이름이에요(예: my-index). |
Operation |
작업 유형이에요(예: shardbulk). |
ShardRole |
샤드 역할이에요(예: primary 또는 replica). |
Exception |
OpenSearch 예외예요(예: org.opensearch.index_not_found_exception). |
Indices |
요청 URL에 있는 인덱스 목록이에요. |
HTTPRespCode |
OpenSearch 응답 코드예요(예: 200). |
MemType |
메모리 유형이에요(예: totYoungGC, totFullGC, Survivor, PermGen, OldGen, Eden, NonHeap, Heap). |
DiskName |
디스크의 이름이에요(예: sda1). |
DestAddr |
목적지 주소예요(예: 010015AC). |
Direction |
방향이에요(예: in 또는 out). |
ThreadPoolType |
OpenSearch 스레드 풀이에요(예: index, search, snapshot). |
CBType |
서킷 브레이커 유형이에요(예: accounting, fielddata, in_flight_requests, parent, request). |
ClusterManagerTaskInsertOrder |
태스크가 삽입된 순서예요(예: 3691). |
ClusterManagerTaskPriority |
태스크의 우선순위예요(예: URGENT). OpenSearch는 insert_order와 관계없이 우선순위가 높은 태스크를 낮은 태스크보다 먼저 실행해요. |
ClusterManagerTaskType |
태스크 유형이에요(예: shard-started, create-index, delete-index, refresh-mapping, put-mapping, CleanupSnapshotRestoreState, Update snapshot state). |
ClusterManagerTaskMetadata |
태스크의 메타데이터예요(있는 경우). |
CacheType |
캐시 유형이에요(예: Field_Data_Cache, Shard_Request_Cache, Node_Query_Cache). |
NodeID |
노드의 ID예요. |
Searchbp_mode |
검색 백프레셔 모드예요(예: monitor_only(기본값), enforced, disabled). |