O MySQL recusará quaisquer novas conexões depois de atingir as conexões máximas até que seja reiniciado?

2

Eu estou tentando determinar o que aconteceu em um servidor onde o MySQL começou a responder com muitas conexões por quase uma hora antes que nós tivéssemos reiniciado o servidor porque o MySQL não iria se reiniciar, nem poderíamos matá-lo.

Então, minha pergunta é que uma vez que um servidor / instância do MySQL atingiu seu número máximo de conexões, ele recusará conexões até que seja reiniciado ou permitirá mais conexões automaticamente quando o número de conexões cair abaixo do máximo?

Embora o site tenha algumas páginas que se conectam ao MySQL por um longo período de tempo e tenham consultas que levam algumas vezes mais de 30 segundos para concluir, eu teria assumido que uma vez concluído, mesmo com carga extremamente alta (para este site de qualquer maneira ) O MySQL continuaria aceitando novas conexões quando a carga fosse reduzida novamente.

A página de erro de muitas conexões no site do MySQL mencione qualquer coisa sobre o que deveria acontecer.

    
por Darryl Hein 13.08.2009 / 07:53

2 respostas

5

A opção max_connections refere-se ao número máximo de conexões simultâneas. Se o seu servidor tivesse problemas de desempenho, é possível que você tivesse muitos scripts que estavam esperando por conexões livres e os pegasse assim que eles estivessem disponíveis.

    
por 13.08.2009 / 07:56
1

Você também deve monitorar sudo netstat -anp | grep mysqld para ver quantas conexões estão realmente abertas. Minha causa favorita para um servidor de rastreamento é a surra, é claro. Combine um Apache configurado de maneira otimista, uma webapp com muita memória e uma multidão de usuários aparecendo de repente e você terá um servidor constantemente alternado. Em uma configuração de um disco, isso também retarda o MySQL que não consegue obter RAM suficiente para funcionar de forma eficiente. Por isso, começa a perfurar o disco também. Além disso: os usuários aguardando acertar atualização - > outra instância do webapp - > outra conexão que fica muito tempo ocupada.

Use vmstat 10 (ignore a primeira linha, é um histórico de tempo de atividade) e procure pelas entradas de swap (em KiByte / s). A troca na produção não é boa (TM).

    
por 28.10.2009 / 13:58

Tags