ThingWorx 로그를 사용하여 데이터베이스 성능 모니터링
데이터베이스 문제에 대해 ThingWorx 로그를 모니터링해야 합니다. 다음 오류 또는 경고는 중요한 데이터베이스 연결 문제를 나타내며 조사해야 할 오류와 경고입니다.
문제
로그 오류 또는 경고의 예
설명
명백한 교착 상태 예외
com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@635d735b -- 명백한 교착 상태!!! 할당되지 않은 보류 중 작업에 대한 임시 스레드를 만드는 중입니다.
이 오류는 응용 프로그램에 대한 연결 풀의 연결이 충분히 빠르게 반환되지 않았음을 나타냅니다. 이 오류는 실제 교착 상태는 거의 나타내지 않습니다.
조사 - 실행 속도가 느린 SQL을 분리합니다.
[2,006] 알 수 없는 오류
래핑된 java.lang.RuntimeException: com.thingworx.common.exceptions.DataAccessException: [2,006] 알 수 없는 오류가 발생했습니다. 이 문제가 다시 발생하면 관리자에게 문의하십시오.
이 오류는 데이터베이스 연결이 갑자기 끊어질 때의 기본 연결 예외를 나타냅니다.
조사 - 데이터베이스 및 응용 프로그램 로그를 검토하여 연결 끊기 문제의 근본 원인을 찾습니다.
[1,018] 데이터 저장소 오류
[1,018] 데이터 저장소의 알 수 없는 오류: [모델 공급자에 액세스하는 동안 오류가 발생했습니다.]]
이 오류는 개별 문이 데이터베이스 엔진에서 예외를 생성했음을 나타냅니다. 예를 들어, 테이블에 중복된 기본 키를 삽입하는 경우입니다.
조사 - 데이터베이스 및 응용 프로그램 로그를 검토하여 문 실패의 근본 원인을 찾습니다.
데이터베이스 오류에 대해 응용 프로그램 로그를 매일 검토하는 것이 좋습니다. 오류 또는 경고를 분석합니다. LoggingSubsystem에서 스택 추적 사용 옵션을 선택하면 실패한 데이터베이스 트랜잭션을 생성한 해당 스크립트 또는 플랫폼 API를 확인할 수 있습니다. 이러한 실패한 트랜잭션에서는 관련 오류 코드를 반환합니다.