22.9.3.5 socket_instances 테이블
socket_instances
테이블은 MySQL 서버에 활성 연결의 실시간 스냅 샷을 제공합니다. 테이블에는 TCP / IP 또는 Unix 소켓 파일 연결마다 1 행 포함됩니다. 이 테이블에서 사용 가능한 정보는 서버에 활성 연결의 실시간 스냅 샷을 제공합니다. (소켓 작업과주고받은 바이트 수 등의 네트워크 활동을 포함한 추가 정보는 소켓 요약 테이블로 사용할 수 있습니다. 섹션 22.9.9.8 "소켓 요약 테이블" 을 참조하십시오).
mysql> SELECT * FROM socket_instances\G
*************************** 1. row ******************** *******
EVENT_NAME : wait / io / socket / sql / server_unix_socket
OBJECT_INSTANCE_BEGIN : 4316619408
THREAD_ID : 1
SOCKET_ID : 16
IP :
PORT : 0
STATE : ACTIVE
*************************** 2. row ******************** *******
EVENT_NAME : wait / io / socket / sql / client_connection
OBJECT_INSTANCE_BEGIN : 4316644608
THREAD_ID : 21
SOCKET_ID : 39
IP : 127.0.0.1
PORT : 55233
STATE : ACTIVE
*************************** 3. row ******************** *******
EVENT_NAME : wait / io / socket / sql / server_tcpip_socket
OBJECT_INSTANCE_BEGIN : 4316699040
THREAD_ID : 1
SOCKET_ID : 14
IP : 0.0.0.0
PORT : 50603
STATE : ACTIVE
소켓 instrument는 형식 wait/io/socket/sql/
의 이름을 가지고 다음과 같이 사용됩니다. socket_type
서버는 자신이 지원하는 네트워크 프로토콜 대기 소켓이 있습니다. TCP / IP 또는 Unix 소켓 파일 연결 대기 소켓에 연결된 instrument는 각각
server_tcpip_socket
또는server_unix_socket
의socket_type
값을가집니다.수신 소켓 연결을 감지하면 서버는 연결을 별도의 스레드에 의해 관리되는 새로운 소켓에 전송합니다. 새 연결 스레드의 instrument는
client_connection
의socket_type
값을가집니다.연결이 완료되면
socket_instances
의 해당 행이 삭제됩니다.
socket_instances
테이블에는 이러한 열이 있습니다.
EVENT_NAME
이벤트를 생성 한
wait/io/socket/*
instrument의 이름. 이것은setup_instruments
테이블의NAME
값입니다. 섹션 22.4 "성능 스키마 instrument 명명 규칙" 에 설명 된대로 instrument 이름은 여러 부분이 계층을 형성 할 수 있습니다.OBJECT_INSTANCE_BEGIN
이 컬럼은 고유 소켓을 식별합니다. 이 값은 메모리에있는 객체의 주소입니다.
THREAD_ID
서버에 의해 할당 된 내부 스레드 식별자. 각 소켓은 하나의 스레드에 의해 관리되기 때문에 각 소켓은 스레드에 매핑 할 수 스레드는 서버 프로세스에 매핑 할 수 있습니다.
SOCKET_ID
소켓에 할당 된 내부 파일 핸들.
IP
클라이언트의 IP 주소. 이 값은 IPv4 또는 IPv6 주소 중 하나 또는 Unix 소켓 파일 접속을 나타내는 공백이됩니다.
PORT
0에서 65535 사이의 TCP / IP 포트 번호.
STATE
IDLE
또는ACTIVE
중 하나의 소켓 상태. 활성 소켓의 대기 시간은 해당 소켓 instrument를 사용하여 추적됩니다. 아이돌 소켓의 대기 시간은idle
instrument를 사용하여 추적됩니다.소켓은 클라이언트의 요청을 대기중인 경우 유휴됩니다. 소켓이 멈추었을 때, 소켓을 추적하고있다
socket_instances
의 이벤트 행이ACTIVE
의 상태에서IDLE
로 전환됩니다.EVENT_NAME
값은wait/io/socket/*
로 남아 있지만 instrument의 타이밍은 일시 중지됩니다. 대신idle
의EVENT_NAME
값events_waits_current
테이블에 이벤트가 생성됩니다.다음 요청을 수신하면
idle
이벤트가 종료 소켓 인스턴스가IDLE
에서ACTIVE
로 전환 소켓 instrument의 타이밍을 재개합니다.
IP:PORT
컬럼의 조합 값은 연결을 식별합니다. 이 조합의 값은 소켓 이벤트의 발생원의 연결을 식별하기 위해 events_waits_
테이블 xxx
OBJECT_NAME
컬럼으로 사용됩니다.
Unix 도메인 청취자 소켓 (
server_unix_socket
)의 경우 포트는 0에서 IP는''
입니다.Unix 도메인 청취자를 통한 클라이언트 연결 (
client_connection
)의 경우 포트는 0에서 IP는''
입니다.TCP / IP 서버 리스너 소켓 (
server_tcpip_socket
)의 경우 포트는 항상 마스터 포트 (예 : 3306)에서 IP는 항상0.0.0.0
입니다.TCP / IP 리스너를 통한 클라이언트 연결 (
client_connection
)의 경우 포트는 서버가 할당 한 것입니다 만, 0이되지 않습니다. IP는 원본 호스트의 IP (로컬 호스트의 경우127.0.0.1
또는::1
)입니다
socket_instances
테이블은 MySQL 5.6.3에서 추가되었습니다.