브라우저 모니터링 AJAX UI는 브라우저에서 HTTP 또는 HTTPS 도메인과 같은 외부 끝점에 대한 최근 AJAX 요청을 보여줍니다. 이 정보는 시간이 많이 걸리거나 사이트에서 웹 페이지의 일부를 업데이트하는 AJAX 호출이 실패할 때 최종 사용자 경험의 문제를 식별하는 데 도움이 됩니다. 데스크톱 브라우저, 모바일 장치 및 태블릿을 포함한 장치 유형별로 문제를 검토할 수 있습니다.
문제 해결 사항 다음은 앱의 성능 문제를 식별하기 위한 몇 가지 문제 해결 팁입니다.
AJAX 호출 문제 해결
예
전체 요청의 문제
문제가 어디에 있는지 확실하지 않거나 요청을 처음부터 끝까지 추적하려면 AJAX UI에서 분산 추적 링크를 클릭하세요.
타이밍 문제
총 시간 백분율 , 분당 처리량 요청(rpm) 및 요청당 평균 데이터 전송 속도는 타이밍 문제를 식별하는 데 도움이 될 수 있습니다.
AJAX 요약 페이지의 요청당 평균 데이터 전송 차트에서 큰 폭의 스파이크를 찾으십시오.개별 호출의 AJAX 성능 탭에서 높은 콜백 시간 값과 데이터 전송 속도 간의 상관 관계를 찾습니다. 엔드포인트 문제
이상값 엔드포인트를 찾아 해당 엔드포인트에서 이루어진 개별 요청을 조사합니다.
AJAX 요약 페이지의 상태 코드 차트는 호출의 반환 동작에 대한 정보를 제공합니다. 200
범위를 벗어나는 상태 코드가 많이 표시되면 AJAX 엔드포인트에 문제가 있음을 나타낼 수 있습니다.
특정 웹페이지 위치 문제
로드되는 페이지의 컨텍스트 내에서 잠재적인 AJAX 문제를 검사합니다. AJAX 트랜잭션을 선택한 다음 AJAX를 사용한 세션 추적 테이블에서 추적을 선택하십시오.
그것을하는 방법 앱에 대한 AJAX 요청 문제를 해결하려면:
one.newrelic.com > All capabilties > Browser > (앱 선택) > AJAX 으로 이동합니다.장치 유형을 선택하십시오: 데스크탑(기본값), 모바일 및 태블릿. AJAX 요청을 클릭합니다. Ajax 요청에 초점을 맞추었다면 조사할 차례입니다. 다음 전략 중 일부를 시도해 보십시오.
AJAX 요약 차트로 시작하기 요약 페이지는 AJAX 호출 문제를 해결하는 데 도움이 되는 여러 차트를 제공합니다.
AJAX 요약 페이지
코멘트
그룹 및 필터
UI에서 사용 가능한 정렬 기준 옵션을 사용합니다. 2분 이상 걸리는 모든 AJAX 요청은 자동으로 필터링됩니다.
보다 유연하게 데이터를 보려면 Group by 옵션을 사용하여 requestUrl
또는 groupedRequestUrl
를 선택하십시오.
끝점
처리량 차트는 처리량이 가장 높은 5개의 끝점을 보여줍니다. 통화에 5개 이상의 엔드포인트가 있는 경우 차트에서 기타 로 통합됩니다.
New Relic의 부름
앱에 대한 AJAX 호출을 모니터링하는 자체 브라우저를 볼 수 있습니다. 브라우저 세션 중에 모든 활동이 캡처되기 때문에 이는 정상입니다.
브라우저 데이터 누락
AJAX 타이밍 세부 정보는 iOS 브라우저용 IE 7, IE 8 또는 Chrome에서 사용할 수 없습니다. 다른 브라우저에서 예상한 데이터가 표시되지 않으면 AJAX 문제 해결 절차 를 따르세요.
AJAX 요약 페이지에서 특정 호출을 선택한 후 AJAX 성능 링크를 사용하여 세부 정보로 드릴다운할 수 있습니다. 여기에는 세션 추적 세부 정보 에 대한 직접 링크가 포함됩니다.
여기에서 탭을 선택하여 페이지 보기별로 성능 데이터를 얻을 수도 있습니다. (앱 서버 요청이 브라우저 PageView
트랜잭션보다 훨씬 많은 경우 이는 백엔드에 대한 일부 요청이 AJAX를 통해 이루어지기 때문입니다. 자세한 내용은 문제 해결 절차를 참조하십시오.)
one.newrelic.com > All capabilties > Browser > (앱 선택) > AJAX > (AJAX 호출 선택) : 이 예는 특정 AJAX 호출에 대한 성능 세부 정보를 보여줍니다. 페이지 조회수별로 성능 세부 정보를 볼 수도 있습니다.
평균 응답 시간 차트의 AJAX 끝점은 4개 또는 2개의 기간으로 나타납니다. 이는 교차 애플리케이션 추적 헤더 가 있는지 여부에 따라 다릅니다.
네 가지 기간(애플리케이션 시간 , 대기열 시간 , 네트워크 시간 및 콜백 시간 ): 이러한 AJAX 호출은
애플리케이션 간 추적 헤더를 제공하는 에이전트.
두 기간( 응답 시간 및 콜백 시간 ): 이러한 AJAX 호출은 APM 에이전트가 모니터링하지 않거나 교차 애플리케이션 추적 헤더를 제공하지 않는 에이전트에 의해 모니터링되는 앱에 대해 수행됩니다.
처음부터 끝까지 요청 추적 요청을 처음부터 끝까지 추적하려면 AJAX UI에서 분산 추적 링크를 클릭할 수도 있습니다.
분산 추적 목록을 보려면 AJAX 요약 수준에서 AJAX UI의 링크를 클릭하십시오. 애플리케이션 및 특정 요청 유형별로 필터링된 모든 추적을 보려면 AJAX UI에서 선택한 요청에 대한 분산 추적 링크를 클릭하십시오. 시간 백분율 예 총 시간 백분율 을 기준으로 AJAX 범주 목록을 정렬하면 목록에 각 AJAX 범주에 대한 백분율이 표시됩니다. 또한 차트에는 시간 비율이 가장 높은 상위 요청이 표시됩니다.
이 정보를 제공하기 위해 브라우저는 각 AJAX 범주에 대한 누적 요청 시간을 취하여 모든 AJAX 요청에 대한 누적 요청 시간으로 나눕니다. 높은 처리량 요청이 낮은 처리량 요청보다 선호되기 때문에 응답 시간을 최적화할 위치를 식별하는 데 도움이 됩니다.
예: 두 AJAX 범주에 대한 시간 백분율 계산
이 예에서는 api1.example.com
및 api2.example.com
의 두 AJAX 카테고리를 사용합니다.
api1.example.com
이(가) 1번 히트하고 응답하는 데 1초(1000ms)가 걸립니다(1 x 1초 = 1초).
api2.example.com
이(가) 500번 히트하고 응답하는 데 1ms가 걸립니다(500 x 1ms = 500ms 또는 0.5초).
모든 AJAX 범주에 대한 누적 요청 시간은 1500ms 또는 1.5초입니다. 시간 백분율을 얻으려면 각 AJAX 범주를 누적 요청 시간으로 나눈 다음 백분율에 100을 곱하십시오.
따라서 api1.example.com
은 총 시간 백분율의 67%(1000 나누기 1500, 곱하기 100)이고 api2.example.com
은 33%(500 나누기 1500, 곱하기 100)입니다.
시간 계산
API1
API2
조회수
1
500
응답 시간
1초(1000ms)
1 히트 x 1000ms = 1000ms(1초)
1밀리초(1ms)
500 히트 x 1ms = 500ms(0.5초)
모든 AJAX 범주에 대한 누적 요청 시간
1000ms + 500ms = 1500ms(1.5초)
1000ms + 500ms = 1500ms(1.5초)
시간 백분율 = 범주 / 1500ms 누적 요청 시간 x 백분율의 경우 100
1000ms / 1500 x 100 = 67%
500ms / 1500 x 100 = 33%
무엇 향후 계획 AJAX UI 외에도 다음 리소스를 사용할 수도 있습니다.