Base de conhecimento
1000 perguntas frequentes, 500 tutoriais e vídeos explicativos. Aqui, você encontra apenas soluções!
Compreender os tempos de conexão ao MySQL / MariaDB
Este guia técnico detalha os limites de recursos nos serviços de hospedagem web Infomaniak. É essencial distinguir o tempo real (relógio) do tempo de cálculo (processador) para compreender a origem das interrupções de scripts.
1. Tempo de conexão MySQL (E/S)
Limite: 30 segundos reais
Este limite corresponde ao tempo absoluto decorrido, medido com um cronômetro. Refere-se à comunicação entre o PHP e o servidor de base de dados (MySQL/MariaDB).
Assim que uma conexão é aberta, o servidor de banco de dados aloca um tempo máximo de 30 segundos para receber a solicitação, executá-la e retornar os resultados. Se esse tempo for excedido (geralmente devido a uma consulta SQL mal otimizada), o servidor MySQL interrompe abruptamente a conexão. Isso geralmente gera o erro MySQL server has gone away.
2. Tempo de processamento PHP (CPU)
Limite: 10 segundos de CPU
Este limite refere-se exclusivamente à capacidade de processamento utilizada pelo servidor web para executar o código PHP.
É crucial notar que o tempo de espera não é contabilizado. Quando o PHP aguarda uma resposta do banco de dados, ele fica em pausa e praticamente não consome tempo de CPU. Consequentemente, um script será interrompido pelo servidor web apenas se realizar cálculos intensivos (loops complexos, criptografia, processamento de arquivos) por mais de 10 segundos acumulados.
Interação dos dois limites
Para garantir a estabilidade da aplicação, cada operação deve cumprir simultaneamente estas duas restrições distintas:
- A aplicação tem um tempo total de 30 segundos para interagir com a base de dados (latência da rede + execução SQL).
- O aplicativo tem 10 segundos de tempo de processamento puro para tratar os dados recebidos.
Exemplo de funcionamento válido: um script que aguarda 25 segundos por uma resposta complexa do MySQL (E/S) e, em seguida, processa o resultado durante 2 segundos (CPU) funcionará perfeitamente, pois não excedeu nenhuma das duas cotas individuais, mesmo que o tempo total seja de 27 segundos.
Link para esta FAQ: https://faq.infomaniak.com/481
Esta seção de perguntas frequentes foi útil?