Como configurar conexões persistentes no MySQL com PHP?
As conexões persistentes permitem que uma conexão ao banco de dados seja mantida ativa entre diferentes requisições, reduzindo a sobrecarga causada por múltiplas conexões abertas e fechadas repetidamente.
Habilitando Conexões Persistentes no PDO
Para ativar conexões persistentes, basta definir a opção PDO::ATTR_PERSISTENT
como true
ao criar a conexão:
<?php
try {
$conexao = new PDO("mysql:host=localhost;dbname=meu_banco", "usuario", "senha", [
PDO::ATTR_PERSISTENT => true,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
]);
echo "Conexão persistente ativada!";
} catch (PDOException $e) {
echo "Erro: " . $e->getMessage();
}
?>
Aqui:
PDO::ATTR_PERSISTENT => true
mantém a conexão ativa entre requisições.PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
garante que erros sejam tratados corretamente.
Vantagens das Conexões Persistentes
- Redução de tempo de resposta: elimina a necessidade de criar uma nova conexão para cada requisição.
- Melhor performance em sistemas com alta carga.
- Menos uso de recursos do servidor.
Desvantagens e Cuidados
- Pode manter conexões desnecessárias abertas, ocupando memória do servidor.
- Não deve ser usada em scripts que alteram frequentemente credenciais de usuário.
- Em ambientes compartilhados, pode causar conflitos de conexão.
Vale a pena usar conexões persistentes no MySQL com PHP?
As conexões persistentes no MySQL com PHP são úteis para aplicações de alta demanda que exigem múltiplas requisições ao banco. No entanto, é essencial usá-las com cautela para evitar consumo excessivo de memória no servidor. O uso correto dessa técnica pode melhorar significativamente o tempo de resposta de aplicações web.
Algumas aplicações:
- Aplicações web de alta carga
- Serviços que fazem múltiplas conexões ao banco
- APIs que necessitam de respostas rápidas
- Ambientes de microserviços que compartilham bancos de dados
Dicas para quem está começando
- Habilite conexões persistentes apenas se necessário.
- Monitore o uso de memória do servidor ao usar conexões persistentes.
- Evite manter conexões abertas por longos períodos sem necessidade.
- Teste a configuração antes de aplicá-la em produção.
- Se houver problemas de desempenho, considere desativar as conexões persistentes.
Contribuições de Daniel Moreira