Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 현재 활성 또는 전체 연결 수 확인하는 방법

MySQL 서버에 현재 열려 있는 활성 연결 또는 전체 연결 수를 확인하려면 Threads_connected 상태 변수를 사용하면 됩니다. 이 변수는 현재 열려 있는 연결(스레드)의 개수를 알려줍니다.

Threads_connected 변수로 연결 수 확인하기

다음 쿼리를 실행하면 현재 연결된 스레드 수를 조회할 수 있습니다.

mysql> show status where `variable_name` = 'Threads_connected';

실행 결과는 다음과 같습니다.

+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| Threads_connected | 1     |
+-------------------+-------+
1 row in set (0.06 sec)

SHOW PROCESSLIST로 상세 연결 정보 확인하기

단순히 연결 수뿐만 아니라 각 연결의 상세 정보까지 확인하고 싶다면 show processlist 명령어를 사용할 수 있습니다. 이 명령은 현재 접속 중인 사용자, 호스트, 실행 중인 쿼리, 대기 시간 등을 함께 보여주므로 디버깅이나 성능 분석에 유용합니다.

mysql> show processlist;

실행 결과는 다음과 같습니다.

+----+-----------------+-----------------+----------+---------+--------+------------------------+------------------+
| Id | User            | Host            | db       | Command | Time   | State                  | Info             |
+----+-----------------+-----------------+----------+---------+--------+------------------------+------------------+
|  4 | event_scheduler | localhost       | NULL     | Daemon  | 349012 | Waiting on empty queue | NULL             |
| 11 | root            | localhost:54746 | business | Query   |      1 | starting               | show processlist |
+----+-----------------+-----------------+----------+---------+--------+------------------------+------------------+
2 rows in set (0.31 sec)

위 결과에서 각 컬럼의 의미는 다음과 같습니다.

  • Id: 연결(스레드)의 고유 식별자
  • User: 해당 연결을 생성한 MySQL 계정
  • Host: 클라이언트가 접속한 호스트와 포트
  • db: 현재 선택된 데이터베이스 (없으면 NULL)
  • Command: 현재 실행 중인 명령 유형 (Query, Daemon, Sleep 등)
  • Time: 현재 상태로 유지된 시간(초)
  • State: 스레드의 현재 상태
  • Info: 실행 중인 SQL 문 (없으면 NULL)

참고로 show full processlist;를 사용하면 Info 컬럼의 쿼리가 잘리지 않고 전체 내용이 표시되므로, 긴 쿼리를 확인할 때 더욱 유용합니다.