열려 있는 MySQL 연결 수를 확인하려면 어떻게 해야 합니까?
현재 요청 중에 열린 연결 수를 확인하려면 어떻게 해야 합니까?mysql_connect
PHP에서 Apache에서 실행 중입니까?
내가 전화하면 알아mysql_connect
같은 파라미터로 100회 기능하면 항상 같은 접속링크가 반환됩니다.연결이 이미 존재하면 새 연결이 시작되지 않습니다.
하지만 확실히 하고 싶은 게 있어mysql_connect
새로운 것을 시작하지 않습니다.
저는 많은 데이터를 포함하는 레거시 시스템을 사용하고 있습니다.mysql_connect
함수 호출
Apache에 설정이 있습니까?아니면 Apache 또는 MySQL 로그 파일에 이 수의 연결을 기록할 수 있는 방법이 있습니까?
몇 가지 방법이 있다고 생각합니다.
SHOW STATUS WHERE `variable_name` = 'Threads_connected'
또는 를 실행하여 에서 원하는 값을 찾을 수 있습니다.Id
기둥.이전 PHP API에서mysql
, 와 같은 기능을 하는 기능이 있습니다.SHOW PROCESSLIST
,너무.
하지만 첫 번째 것은 너에게 효과가 있을 거야.다른 STATUS 변수도 확인해 보시기 바랍니다.
접속에 관한 기타 유용한 변수가 있습니다.특정 경우 코드가 너무 많은 접속을 하고 있지 않은지 알아내는 데 도움이 될 수 있습니다.코드를 실행하기 전과 실행 후의 값을 확인하세요.
# mysql -e 'SHOW STATUS WHERE variable_name LIKE "Threads_%" OR variable_name = "Connections"'
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| Connections | 22742 |
| Threads_cached | 1 |
| Threads_connected | 87 |
| Threads_created | 549 |
| Threads_running | 51 |
+-------------------+-------+
접속
MySQL 서버에 대한 연결 시도 횟수(성공 여부)입니다.
스레드_캐치
스레드 캐시의 스레드 수입니다.
스레드_연결됨
현재 열려 있는 접속의 수.
스레드_작성필
연결을 처리하기 위해 생성된 스레드 수입니다.Threads_created가 크면 thread_cache_size 값을 늘릴 수 있습니다.캐시 미스 레이트는 Threads_created/Connections로 계산할 수 있습니다.
스레드_실행 중
sleeve 상태가 아닌 스레드 수.
현재 연결 상태:
mysqladmin status
보다Threads:
count. 현재 연결에 대한 자세한 내용은 다음 명령을 사용하여 얻을 수 있습니다.
user@host:~$ mysqladmin -uroot -ppass extended-status | grep Threads
| Threads_cached | 0 |
| Threads_connected | 3 |
| Threads_created | 3 |
| Threads_running | 1 |
user@host:~$ mysqladmin -uroot -ppass processlist
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+----+---------+------+-------+------------------+
| 53 | root | localhost | | Sleep | 258 | | |
| 54 | root | localhost | | Sleep | 253 | | |
| 58 | root | localhost | | Query | 0 | | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+
참고: mysqladmin -v -uroot -ppass processlist
와 유사하다show full processlist
.
커맨드는, 임의의 일의 프리픽스로 단축해, 동시에 호출할 수 있습니다.
user@host:~$ mysqladmin -v -uroot -ppass proc stat
+----+------+-----------+----+---------+------+-------+-----------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+----+---------+------+-------+-----------------------+
| 53 | root | localhost | | Sleep | 951 | | |
| 54 | root | localhost | | Sleep | 946 | | |
| 65 | root | localhost | | Query | 0 | | show full processlist |
+----+------+-----------+----+---------+------+-------+-----------------------+
Uptime: 1675 Threads: 3 Questions: 171 Slow queries: 0 Opens: 235
Flush tables: 1 Open tables: 57 Queries per second avg: 0.102
MySQL 명령어 show processlist를 사용하여 연결 수를 가져올 수 있습니다.
접속 수는 보이지 않지만 mysql 서버로의 접속은 제한할 수 있습니다.
언급URL : https://stackoverflow.com/questions/6502036/how-can-i-see-how-many-mysql-connections-are-open
'programing' 카테고리의 다른 글
Google Colab: Google 드라이브에서 데이터를 읽는 방법 (0) | 2022.10.13 |
---|---|
MySQL에서 선택한 값의 쉼표로 구분된 문자열 (0) | 2022.10.13 |
GitHub에서 Python 패키지를 설치하는 방법은? (0) | 2022.10.13 |
Redux 스토어 상태를 리셋하는 방법 (0) | 2022.10.13 |
jQuery.parseJSON이 JSON에서 이스케이프된 단일 따옴표로 인해 "Invalid JSON" 오류를 발생시킵니다. (0) | 2022.10.13 |