느린 패턴의 원인을 식별하고 잠재적인 성능 향상의 우선순위를 지정합니다.
시작하기 전에
필요한 역할: sn_app_insights.admin 또는 admin
Zurich 릴리스부터 애플리케이션 인사이트는 더 이상 배포, 개선 또는 지원되지 않습니다. ServiceNow Impact 패키지와 함께 사용할 수 있는 Overview of Instance Observer 제품을 평가하는 것이 좋습니다. 계정 팀과 협력하여 Impact 패키지를 검토합니다.
자세한 내용은 Now Support 지식베이스에서 사용 중단 프로세스 [KB0867184] 문서를 참조하십시오.
프로시저
-
다음으로 이동 .
-
슬로우 이벤트, 슬로우 트랜잭션, 슬로우 쿼리 및 슬로우 스크립트 테이블을 확인하여 잠재적인 성능 문제를 찾습니다.
- 일 범위를 선택하여 1일, 7일 또는 30일 기간에 집중합니다.
- Average execution time in range 열을 기준으로 정렬하여 실행 시간이 일관되게 긴 패턴을 식별합니다.
- 범위 열의 실행 횟수를 정렬하여 가장 자주 실행되는 패턴을 찾습니다.
-
실행 시간이 길고 실행 횟수가 많은 느린 패턴을 선택합니다.
평균 실행 시간 상세 그래프는 느린 패턴의 실행 시간과 1일 이동 평균을 보여줍니다.
-
평균 실행 시간 상세 정보 그래프를 분석하여 시간 경과에 따른 느린 패턴의 성과를 봅니다.
- 선택한 시간 범위 내에서 급증을 찾습니다. 진단 이벤트를 오버레이하여 거짓 경보를 나타낼 수 있는 영향을 미치는 시스템 이벤트와의 상관관계를 찾습니다.
- 선택한 시간 범위에서 패턴이 실행된 횟수를 봅니다.
- 1일 이동 평균 추세선의 방향을 확인하여 시간 경과에 따라 성과가 악화되는지 여부를 확인합니다.
-
기록 보기를 선택하여 느린 패턴을 트리거하는 원인을 찾으십시오.
느린 패턴 기록이 나타나고 쿼리 또는 스크립트 내용, 처음 실행된 시간 및 마지막으로 실행된 시간을 포함한 추가 상세 정보를 제공합니다.
-
문제 해결에 유용한 추가 정보에 액세스하려면 참조된 스크립트 및 관련 느린 패턴 관련 목록을 추가합니다.
| 옵션 | 설명 |
|---|
| 슬로우 스크립트 |
- 양식 컨텍스트 메뉴(
)를 선택합니다.
- 뷰 > 느린 스크립트 인사이트를 선택하여 양식 뷰를 변경합니다.
|
| 느린 쿼리 |
- 양식 컨텍스트 메뉴(
)를 선택합니다.
- 뷰 > 느린 쿼리 인사이트를 선택하여 양식 뷰를 변경합니다.
|
-
속도 저하의 원인을 확인합니다.
- 느린 쿼리를 조사할 때 참조된 스크립트 관련 목록에서 호출 순서가 가장 높은 항목을 찾아 속도 저하를 트리거한 스크립트 또는 비즈니스 규칙을 확인합니다. 예를 들어, 호출 순서가 2인 스크립트에 의해 호출되고 호출 순서가 1인 비즈니스 규칙에 의해 호출되는 스크립트에 의해 느린 쿼리가 트리거된다고 가정합니다. 이 스크립트는 호출 순서가 가장 높기 때문에 느린 쿼리를 직접 트리거했습니다.
- 느린 스크립트를 조사할 때 관련 느린 패턴 관련 목록에서 패턴을 확인하여 스크립트에 의해 트리거되는 느린 패턴을 식별합니다. Average Execution Time in Range와 Average Execution Count in Range 열을 정렬하여 먼저 조사할 느린 패턴을 결정합니다. 먼저 각 열에서 가장 높은 값을 사용하여 느린 패턴을 조사합니다.
- 공통으로 참조된 스크립트가 있는 다른 느린 패턴 목록을 제공하는 관련 느린 패턴 목록을 확인하여 잠재적인 문제를 확인합니다. 여러 느린 패턴이 동일한 스크립트 포함 또는 비즈니스 규칙을 참조하는 경우 문제가 있다고 확신할 수 있습니다.
- 옵션:
여러 느린 패턴 문제를 해결하려면 각 기록을 열고, 관련 느린 패턴 관련 목록에서 항목 수를 확인하고, 디버깅 또는 횟수가 높은 느린 패턴 해결의 우선순위를 지정합니다.
수가 많을수록 느린 패턴을 디버깅하면 성능이 크게 향상될 가능성이 높습니다.
-
성능 문제를 해결하기 위한 조치를 취합니다.
- 문제가 되는 스크립트 포함 또는 비즈니스 규칙을 최적화하거나 제거합니다.
- 슬로우 쿼리 사용을 피할 수 있는지 여부를 확인합니다. 쿼리가 필요한 경우 필요한 정보만 반환하도록 추가 쿼리 조건이나 sys_id 쿼리를 사용하여 최적화하십시오.
- 인덱스가 느린 쿼리의 성능을 최적화할 수 있는지 여부를 확인합니다.
느린 쿼리 문제 해결
범위 필드의 실행 횟수를 기준으로 느린 쿼리 테이블을 정렬한 후 지난 7일 동안 실행 횟수가 많은 SELECT 문을 볼 수 있습니다.
이 느린 쿼리를 트리거하는 원인을 확인하려면 쿼리 이름을 선택하여 세부 정보 그래프를 연 다음 기록 보기를 선택합니다.
참조된 스크립트 관련 목록에는 세 개의 스크립트가 표시됩니다. DeprecationCalculations 스크립트는 참조된 모든 스크립트 중 호출 순서가 가장 높으며, 이는 느린 패턴을 직접 트리거했음을 나타냅니다.
이 문제를 해결하려면 다음을 수행합니다.
- DeprecationCalculations 스크립트 포함을 검사하고 이 쿼리를 사용하지 않을 수 있는지 여부를 확인합니다. 이 예에서 쿼리는 fx_currency 테이블에 대한 것이며, 이는 통화 계산이 발생하고 있음을 의미합니다. 이 계산을 우회하거나 필요하지 않은 경우 제거하십시오.
- DeprecationCalculations에서 쿼리를 방지할 수 없는 경우 호출 순서가 낮은 다른 스크립트에 대한 호출을 방지하거나 실행 횟수를 줄일 수 있는지 여부를 결정합니다. 이 예에서 DepreciationUtils는 DeprecationCalculations를 호출해야 하지만 예약된 감가상각 계산 작업이 덜 자주 실행되도록 설정할 수 있습니다.
- 호출 순서에서 더 낮은 스크립트에 대한 조정이 실행 가능하지 않은 경우 잠재적으로 성능에 도움이 되는 인덱스를 추가하는 것이 좋습니다.