MySQL은 상태를 보여-활성 또는 총 연결?


206

내가 실행 show status like 'Con%'하면 9972 개의 연결 수가 지속적으로 증가하고 있습니다. 총 활성 연결 수입니까?

답변:


401

docs 에 따르면 , 이력 전체의 총 수를 의미합니다.

Connections

MySQL 서버에 대한 연결 시도 횟수 (성공 여부)

상태 변수 를 통해 활성 연결 수를 확인할 수 있습니다 Threads_connected.

Threads_connected

현재 열려있는 연결 수입니다.

mysql> show status where `variable_name` = 'Threads_connected';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| Threads_connected | 4     |
+-------------------+-------+
1 row in set (0.00 sec)

... 또는 show processlist명령을 통해 :

mysql> show processlist;
+----+------+-----------------+--------+---------+------+-------+------------------+
| Id | User | Host            | db     | Command | Time | State | Info             |
+----+------+-----------------+--------+---------+------+-------+------------------+
|  3 | root | localhost       | webapp | Query   |    0 | NULL  | show processlist | 
|  5 | root | localhost:61704 | webapp | Sleep   |  208 |       | NULL             | 
|  6 | root | localhost:61705 | webapp | Sleep   |  208 |       | NULL             | 
|  7 | root | localhost:61706 | webapp | Sleep   |  208 |       | NULL             | 
+----+------+-----------------+--------+---------+------+-------+------------------+
4 rows in set (0.00 sec)

연결이 사용자를 나타 냅니까? 따라서 페이지에 200 명의 사용자가 데이터베이스 쿼리를 만드는 경우 200 개의 연결이 되겠습니까?
Diego Queiroz

예, 누군가가 그것을 명확히 할 수 있습니까? 나도 같은 질문이 있습니다. 또한이 변수는 모든 MySQL 서비스가 다시 시작되거나 서버가 재부팅 된 후에 재설정됩니까?
LonelyRogue

@Diego Queiroz 그렇게 간단하지 않습니다. 개발자가 모두주의를 기울이고 사용자 당 하나의 데이터베이스 만 연결해야하는 경우 각 데이터베이스가 사용자가됩니다. 그러나 다른 유틸리티가 실행 중이거나 백업 서비스가 연결되어 있어야 할 수도 있습니다.
라이언 실링

@LonelyRogue 예, 서버가 다시 시작된 후 모든 연결을 다시 연결해야합니다. 많은 프로그램 / 라이브러리가 자동 연결되므로 명시적인 작업없이 연결 수가 빠르게 채워질 수 있습니다. 그러나 MySQL은 다시 시작한 후에도 이전 연결을 유지하지 않습니다.
라이언 실링

134
SHOW STATUS WHERE `variable_name` = 'Threads_connected';

열린 연결이 모두 표시됩니다.


17

지금까지 서버에 대한 총 연결 수입니다. 현재 연결 상태를 찾으려면

mysqladmin -u -p 확장 상태 | grep -wi 'threads_connected \ | threads_running'| awk '{print $ 2, $ 4}'

이것은 당신에게 보여줄 것입니다 :

Threads_connected 12

Threads_running 1  

Threads_connected: Number of connections

Threads_running: connections currently running some sql

13

보다 완전한 목록을 보려면 다음을 실행하십시오.

show session status;

또는

show global status;

사용법을 더 잘 이해하려면 이 링크 를 참조하십시오 .

데이터베이스에 대한 세부 사항을 알고 싶다면 다음을 실행할 수 있습니다.

status;

11

당신은 또한 할 수 있습니다

SHOW STATUS WHERE `variable_name` = 'Max_used_connections';

1
max_used_connections또한 유용합니다
coolnodje

3

허용되는 최대 연결을 확인하려면 다음 쿼리를 실행할 수 있습니다.

SHOW VARIABLES LIKE "max_connections";

활성 연결 수를 확인하려면 다음 쿼리를 실행할 수 있습니다.

SHOW VARIABLES LIKE "max_used_connections";

도움이 되길 바랍니다.



-1

현재 활성 연결 수 여야합니다. 명령 processlist을 실행하여 확인하십시오.

참조를위한 URL : http://www.devdaily.com/blog/post/mysql/how-show-open-database-connections-mysql

편집 : 열린 DB 연결 수 여기를 살펴보십시오. 실제 스레드 수 (연결)는 여기에 설명되어 있습니다!


2
참조 링크가 유용하다는 것을 알았습니다. 예를 들어, show status like '%onn%';매우 유용한 쿼리입니다.
viddik13

1
이 답변은 잘못되었으므로 삭제해야합니다. 다른 답변을 참조하십시오.
dr_

에서 dev.mysql.com/doc/refman/8.0/en/... : "MySQL 서버에 연결 시도 횟수 (성공 여부)". 활성 연결 수가 아닙니다.
PYB
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.