Loading...
MySQL 9.5 Reference Manual 9.5의 10.14.1 Accessing the Process List의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
다음 내용에서는 프로세스 정보의 소스를 열거하고, 프로세스 정보 확인에 필요한 권한을 설명하며, 프로세스 리스트 엔트리의 내용을 설명합니다.
프로세스 정보는 다음 소스에서 사용할 수 있습니다:
SHOW PROCESSLIST statement:
Section 15.7.7.32, “SHOW PROCESSLIST Statement”
mysqladmin processlist command: Section 6.5.2, “mysqladmin — A MySQL Server Administration Program”
INFORMATION_SCHEMA PROCESSLIST table:
Section 28.3.28, “The INFORMATION_SCHEMA PROCESSLIST Table”
Performance Schema processlist table:
Section 29.12.22.9, “The processlist Table”
Performance Schema threads table 컬럼 중 이름이 PROCESSLIST_ 프리픽스를 가지는 컬럼:
Section 29.12.22.10, “The threads Table”
sys 스키마 processlist 및 session view:
Section 30.4.3.22, “The processlist and x$processlist Views”, 및
Section 30.4.3.33, “The session and x$session Views”
threads table은
SHOW PROCESSLIST,
INFORMATION_SCHEMA PROCESSLIST, 및
mysqladmin processlist와 다음과 같이 비교됩니다:
threads table에 대한 액세스는 뮤텍스를 필요로 하지 않으며 서버 성능에 미치는 영향이 최소입니다. 다른 소스들은 뮤텍스가 필요하기 때문에 성능에 부정적인 영향을 미칩니다.참고
Performance Schema processlist table을 기반으로 하는 SHOW PROCESSLIST의 대체 구현이 제공되며, threads table과 마찬가지로 뮤텍스를 필요로 하지 않고 더 나은 성능 특성을 가집니다. 자세한 내용은 Section 29.12.22.9, “The processlist Table”를 참조하십시오.
threads table은 다른 소스에서는 표시되지 않는 백그라운드 스레드를 표시합니다. 또한 스레드가 포그라운드 스레드인지 백그라운드 스레드인지, 그리고 스레드와 연관된 서버 내 위치와 같이 다른 소스에서는 제공하지 않는 추가 정보를 각 스레드에 대해 제공합니다. 이는 threads table을 사용하여 다른 소스로는 모니터링할 수 없는 스레드 액티비티를 모니터링할 수 있음을 의미합니다.
Performance Schema 스레드 모니터링은 Section 29.12.22.10, “The threads Table”에 설명된 대로 활성화 또는 비활성화할 수 있습니다.
이러한 이유로, 다른 스레드 정보 소스를 사용하여 서버 모니터링을 수행하는 DBA는 대신 threads table을 사용하여 모니터링하기를 원할 수 있습니다.
sys 스키마 processlist view는 Performance Schema threads table의 정보를 더 접근하기 쉬운 형식으로 제공합니다. sys 스키마 session view는 sys 스키마 processlist view와 유사하게 사용자 세션에 대한 정보를 제공하지만, 백그라운드 프로세스는 필터링합니다.
대부분의 프로세스 정보 소스에 대해
PROCESS 권한이 있으면 다른 사용자에 속한 스레드를 포함하여 모든 스레드를 볼 수 있습니다. 그렇지 않은 경우
(PROCESS 권한이 없는 경우),
익명 사용자가 아닌 사용자는 자신의 스레드에 대한 정보에는 액세스할 수 있지만 다른 사용자의 스레드에 대한 정보에는 액세스할 수 없으며, 익명 사용자는 스레드 정보에 액세스할 수 없습니다.
Performance Schema threads table 역시 스레드 정보를 제공하지만, table 액세스는 다른 권한 모델을 사용합니다.
Section 29.12.22.10, “The threads Table”를 참조하십시오.
각 프로세스 리스트 엔트리는 여러 정보를 포함합니다. 다음 목록은
SHOW PROCESSLIST output의 레이블을 사용하여 이를 설명합니다. 다른 프로세스 정보 소스도 유사한 레이블을 사용합니다.
Id는 스레드와 연관된 클라이언트의 커넥션 식별자입니다.
User와 Host는 스레드와 연관된 계정을 나타냅니다.
db는 스레드의 기본 데이터베이스이며, 선택된 것이 없다면 NULL입니다.
Command와 State는 스레드가 무엇을 하고 있는지를 나타냅니다.
대부분의 state는 매우 빠른 오퍼레이션에 해당합니다. 특정 state에 스레드가 여러 초 동안 머무르면 조사해야 할 문제가 있을 수 있습니다.
다음 section에서는 가능한 Command 값과 카테고리별로 그룹핑된 State 값을 나열합니다. 이 값들 중 일부의 의미는 자명합니다. 다른 값들에 대해서는 추가 설명이 제공됩니다.
참고
프로세스 리스트 정보를 확인하는 애플리케이션은 command와 state가 변경될 수 있음을 인지해야 합니다.
Time은 스레드가 현재 state에 머무른 시간을 나타냅니다. 일부 경우에는 스레드의 현재 시간 개념이 변경될 수 있습니다. 스레드는 SET TIMESTAMP = value를 사용하여 시간을 변경할 수 있습니다. replica SQL 스레드의 경우 이 값은 마지막으로 복제된 이벤트의 타임스탬프와 replica 호스트의 실제 시간 사이의 초 단위 차이입니다.
Section 19.2.3, “Replication Threads”를 참조하십시오.
Info는 스레드가 실행 중인 statement를 나타내며, statement를 실행 중이 아니면 NULL입니다. SHOW FULL PROCESSLIST의 경우 이 값에는 statement의 처음 100자만 포함됩니다. 전체 statement를 보려면 SHOW FULL PROCESSLIST를 사용하거나 다른 프로세스 정보 소스를 쿼리하십시오.
10.14 Examining Server Thread (Process) Information
10.14.2 Thread Command Values