MySQL에서 접속 중인 session 정보를 확인해보자
2021. 2. 7. 22:15ㆍ개발/DB
728x90
반응형
개요
- MySQL에서 접속 중인 session 정보들을 확인해보자.
Connection monitoring
- MySQL에서는 현재 잡혀있는 session에 대한 모니터링 테이블이 존재한다.
- 문제가 되는 session들을 찾아내거나 kill할 필요가 있을 때, 참조하면 좋다.
SHOW PROCESSLIST;
현재 실행 중인 process list들을 확인할 수 있다.
show full processlists;
show processlist;
확인할 수 있는 field들은 아래와 같다.
- id: session id
- user: 접속한 계정의 id
- host: host + port
- db: 접속한 db
- command: thread가 현재 실행 중인 명령, Sleep의 경우는 idle 상태를 의미하며, 자세한 내용은 Thread command를 참조하자.
- time: 현재 state가 유지된 시간, seconds 단위이다.
- state: 현재 thread의 상태, 자세한 내용은 Thread information를 참조하자.
다만 위의 쿼리의 경우 몇가지 제약사항이 존재한다.
- 필터링해서 보고 싶다!.
- sleep session에 대해서만 보고 싶다.
등등의 여러 조건들을 통해서 확인하고 싶다면 information_schema.processlist
를 조회해서 사용하면 된다.
아래의 몇가지 예제가 존재한다.
-- base query
select * from information_schema.processlist limit 10;
-- not start with 192
select * from information_schema.processlist
where host not like '192%' limit 10;
-- session time above 100 seconds
select * from information_schema.processlist
where time > 100;
Sleep session
Idle 상태로 계속 유지되는 session을 의미한다.
해당 Idle 상태가 지속되는 session이 많을 경우 기본적으로 잡고 있는 session memory가 존재하기 때문에 성능에 영향을 미칠 수 있다.
Timeout options
해당 내용은 Sarc님의 블로그에서 내용을 발췌했다.
MySQL에서는 여러가지 timeout 값을 설정하고, 해당 값을 참조하여 관리를 해주고 있는데 해당 부분을 알아두는 것이 좋을 것 같아 해당 내용을 추가해 두었다.
- connect_timeout: MySQL 서버 접속시에 접속실패를 메시지를 보내기까지 대기하는 시간
- delayed_insert_timeout: insert시 delay될 경우 대기하는 시간
- innodb_lock_wait_timeout: innodb에 transaction 처리중 lock이 걸렸을 시 롤백 될때까지 대기하는 시간으로 innodb는 자동으로 데드락을 검색해서 롤백시킴
- innodb_rollback_on_timeout: innodb의 마지막 구문을 롤백시킬지 결정하는 파라미터 timeout은 진행중인 transaction을 중단하고 전체 transaction을 롤백하는 과정에서 발생
- net_read_timeout: 서버가 클라이언트로부터 데이터를 읽어들이는 것을 중단하기까지 대기하는 시간
- net_write_timeout: 서버가 클라이언트에 데이터를 쓰는 것을 중단하기까지 대기하는 시간
- slave_net_timeout: 마스터/슬레이브로 서버가 클라이언트로부터 데이터를 읽어들이는 것을 중단하기까지 대기하는 시간
- table_lock_wait_timeout: 테이블 락을 중단하기까지 대기하는 시간
- wait_timeout: 활동하지 않는 커넥션을 끊을때까지 서버가 대기하는 시간 (php,jdbc 등을 통한 connection)
- interactive_timeout: 활동중인 커넥션이 닫히기 전까지 서버가 대기하는 시간 (mysql command line)
출처
728x90
반응형
'개발 > DB' 카테고리의 다른 글
ElasticSearch - DFR에 대해 알아보자 (1) | 2021.08.29 |
---|---|
ElasticSearch - BM25에 대해서 알아보자 (1) | 2021.08.08 |
ElasticSearch keyword string 차이 (2) | 2021.08.01 |
MySQL lock & Isolation level (3) | 2021.01.01 |