Performance Risks inbox 뉴렐릭의 텔레메트리 데이터 위에 지능형 계층을 추가하여, 애플리케이션의 성능 문제를 지속적으로 스캔하고 프로덕션 인시던트로 확대되기 전에 이를 표면화합니다. 내장된 분석기를 사용하여 구성 가능한 임계값으로 성능 이상 징후를 자동으로 감지하고, 유사한 문제를 함께 그룹화하여 가장 영향력이 큰 문제를 먼저 해결하는 데 집중할 수 있도록 합니다.
커버리지 및 범위
Performance Risks inbox 전체 애플리케이션 스택 전반에 걸쳐 포괄적인 모니터링을 제공합니다:
APM 서비스
브라우저 애플리케이션
데이터베이스 작업
주요 이점
선제적 문제 감지: 성능 문제가 프로덕션 인시던트로 확대되기 전에 식별합니다.
평균해결시간(MTTR) 단축: 지능형 그룹화를 통해 가장 중요한 문제에 먼저 집중할 수 있습니다.
엔지니어링 생산성 향상: 수동 성능 조사에 소요되는 시간을 줄이고 혁신에 더 많은 시간을 투자하세요.
향상된 애플리케이션 안정성: 최종 사용자에게 영향을 미치기 전에 성능 위험을 해결하세요.
성능 위험 수신함은 어떻게 작동하나요?
Performance Risks inbox 가장 일반적인 성능 문제를 감지하기 위해 다음 분석기를 사용합니다:
느린 데이터베이스 쿼리는 종종 애플리케이션 성능 문제의 근본 원인이 되며, 전체 스택에 걸쳐 연쇄적인 문제를 일으킬 수 있습니다. 분석기는 실행하는 데 예상보다 오래 걸리는 데이터베이스 쿼리를 식별하며, 이는 애플리케이션 응답 시간과 사용자 경험에 상당한 영향을 미칠 수 있습니다.
감지하는 데 도움이 될 수 있는 항목:
성능 임계값을 초과하는 SQL 쿼리
애플리케이션 병목현상을 유발할 수 있는 데이터베이스 작업
시간이 지남에 따라 성능이 저하되는 쿼리
데이터가 증가함에 따라 N+1 쿼리는 데이터베이스 부하 및 응답 시간을 기하급수적으로 증가시킬 수 있으므로, 이는 조기에 해결해야 할 중요한 성능 문제입니다. 이 분석기는 애플리케이션이 하나의 쿼리 대신 N개의 쿼리를 실행하는 일반적인 N+1 쿼리 안티패턴을 감지합니다. 이는 일반적으로 관련 데이터를 로드할 때 ORM 프레임워크에서 발생합니다.
감지하는 데 도움이 될 수 있는 항목:
루프 내 반복되는 데이터베이스 쿼리
비효율적인 데이터 로딩 패턴
최적화할 수 있는 ORM 생성 쿼리 시퀀스
과도한 데이터베이스 작업은 데이터베이스 서버에 과부하를 일으키고 전체 애플리케이션에 영향을 미치는 성능 병목현상을 발생시킬 수 있습니다. 이 분석기는 주어진 기간 내에 비정상적으로 많은 수의 데이터베이스 연결 또는 쿼리를 수행하는 애플리케이션을 모니터하며, 이는 데이터 액세스 패턴의 잠재적인 비효율성을 나타냅니다.
감지하는 데 도움이 될 수 있는 항목:
비정상적으로 높은 데이터베이스 쿼리 볼륨
비효율적인 배치 처리 패턴
순차적인 데이터베이스 작업은 종종 비교적 간단한 변경만으로 애플리케이션 성능을 크게 향상시킬 수 있는 최적화 기회를 놓치고 있음을 의미합니다. 이 분석기는 병렬화 또는 일괄 처리를 통해 최적화할 수 있음에도 데이터베이스 작업이 순차적으로 수행되고 있는 상황을 식별하는 데 도움이 됩니다.
감지하는 데 도움이 될 수 있는 항목:
병렬화될 수 있는 순차적인 데이터베이스 작업
일괄 처리를 위한 놓친 기회
비효율적인 데이터 액세스 패턴
대규모 HTTP 페이로드는 네트워크 전송 속도를 저하시키고 대역폭 비용을 증가시키며, 특히 모바일 기기나 느린 네트워크 연결 환경에서 사용자 경험에 부정적인 영향을 미칠 수 있습니다. 이 분석기는 최적 크기 임계값을 초과하는 페이로드가 있는지 HTTP requests 및 응답을 모니터링합니다.
감지하는 데 도움이 될 수 있는 항목:
대용량 페이로드가 포함된 HTTP requests 또는 응답
과도한 데이터를 반환하는 API 엔드포인트
비효율적인 데이터 직렬화 또는 전송 패턴
느린 HTTP 응답은 애플리케이션 응답성을 저하시키고, 처리량을 감소시키며, 데이터를 기다리는 사용자를 좌절시킬 수 있으며, 특히 지연시간에 민감한 워크플로우나 네트워크 오버헤드가 더 높은 지역에서 그렇습니다. 이 분석기는 최적의 지연시간 임계값을 초과하는 응답 시간에 대해 HTTP 트랜잭션을 모니터링하며, 이는 스택 전반에 걸쳐 더 심각한 성능 문제를 나타낼 수 있습니다.
감지하는 데 도움이 될 수 있는 항목:
지연시간이 높은 HTTP 응답
응답 시간이 지속적으로 느린 API 엔드포인트
속도 저하의 원인이 되는 비효율적인 백앤드 처리, 쿼리 패턴 또는 서드파티 종속성
사용 사례
Performance Risks inbox 두 가지 주요 영역을 해결하는 데 도움이 됩니다: 인프라 비용 절감과 애플리케이션 성능 향상. 다음은 Performance Risks inbox 이(가) 이러한 영역을 어떻게 해결할 수 있는지 보여주는 샘플 사용 사례입니다.
인프라 비용 절감
비효율적인 코드 패턴은 인프라 비용에 직접적인 영향을 미치는 불필요한 리소스 소비를 초래합니다:
N+1 쿼리: 애플리케이션은 최적화된 단일 쿼리를 실행하는 대신, 목록을 검색하기 위해 하나의 쿼리를 실행한 다음 해당 목록의 각 항목에 대해 별도의 쿼리를 실행합니다. 대규모 환경에서 사용자가 100개의 데이터베이스 쿼리가 완료되기를 기다리는 것은 — 단일 쿼리로 동일한 결과를 반환할 수 있음에도 불구하고 — 데이터베이스 부하와 리소스 사용량을 모두 불필요하게 증가시킵니다.
대규모 HTTP 페이로드: 애플리케이션이 대규모 API를 호출하고 모든 사용자 상호작용마다 전체 응답을 전송하는 경우, cloud 제공업체는 해당 데이터가 상호작용에 필요하지 않은 경우에도 각 호출의 대역폭 및 데이터 전송에 대해 요금을 청구합니다.
애플리케이션 성능 향상
성능 문제는 애플리케이션 속도 및 응답성에 직접적인 영향을 미칩니다:
순차적 데이터베이스 쿼리: 사용자가 두 개의 관련 없는 데이터를 requests할 때, 두 쿼리가 모두 독립적이고 동시에 실행될 수 있음에도 불구하고 애플리케이션은 첫 번째 데이터를 가져오고 완료될 때까지 기다린 후 두 번째 데이터를 가져올 수 있습니다. 사용자는 훨씬 더 빨리 반환될 수 있었던 결과를 얻기 위해 필요 이상으로 오래 기다립니다.
느린 HTTP 응답: 사용자가 애플리케이션과 상호 작용할 때 오랜 시간 동안 로딩 상태가 표시되는 경우, 이는 기반 API의 성능이 좋지 않기 때문인 경우가 많습니다. 사용자는 결과가 나타나기 전에 느린 응답을 기다려야 합니다.