Depurando mysql muitos problemas de conexão

2

Eu recebo um erro "muitas conexões" de tempos em tempos com meu banco de dados mysql, se eu fizer um

show status like 'Conn%';

Eu obtenho um resultado como este

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Connections   | 291   | 
+---------------+-------+
1 row in set (0.00 sec)

mas se eu olhar para a lista de processos com

SHOW FULL PROCESSLIST; 

Eu só vejo algumas conexões reais

+-----+---------+------------------------------+---------+---------+------+-------+-----------------------+
| Id  | User    | Host                         | db      | Command | Time | State | Info                  |
+-----+---------+------------------------------+---------+---------+------+-------+-----------------------+
|  28 | www     | webhost01:38876              | webapp  | Sleep   |    2 |       | NULL                      | 
|  29 | www     | webhost01:53322              | webapp  | Sleep   |    2 |       | NULL                      | 
|  30 | www     | webhost01:45583              | webapp  | Sleep   |    2 |       | NULL                      | 
|  31 | www     | webhost01:35779              | webapp  | Sleep   |    2 |       | NULL                      | 
|  32 | www     | webhost01:49122              | webapp  | Sleep   |    2 |       | NULL                      | 
|  36 | root    | localhost                    | NULL    | Query   |    0 | NULL  | SHOW FULL PROCESSLIST     | 
| 126 | stats   | localhost                    | stats   | Sleep   | 1056 |       | NULL                      | 
+-----+---------+------------------------------+---------+---------+------+-------+-----------------------+

Como posso ver todas as conexões? Eu suspeito que alguns aplicativos não fechem suas conexões, como posso depurar / evitar isso?

    
por mzehrer 20.11.2009 / 09:27

2 respostas

1

O valor SHOW STATUS que você deseja ver é Threads_connected . Como Connections mostra apenas o número acumulado de conexões desde o daemon começou.

Geralmente, é importante comparar o valor de Max_used_connections em relação aos valores SHOW VARIABLES max_connections e max_user_connections .

A contagem de ID do seu processo de SHOW PROCESSLIST não é muito alta, o que sugere que um desses valores pode ser definido excessivamente baixo, a menos que o MySQL tenha sido reiniciado desde que o erro surgiu pela última vez.

    
por 20.11.2009 / 09:58
0

A variável "Connections" é um contador de conexão, é zero quando o servidor mysql é iniciado. consulte o manual

    
por 20.11.2009 / 09:56