Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, quando se usa mysql_connect logo quando acaba precisa-se ou pelo menos eu uso usando mysql_close para encerrar a conexão, mas hoje em dia todos os meus sistemas são com PDO, e sempre que eu recebo ataques DDOS imprime o seguinte erro para mim SQLSTATE[HY000] [1040], at´´e entao pelo q vejo sobrecarrega o mysql, mas a pergunta e se precisa fechar conexao como no metodo dito.
E outra um pouco fora do assunto no MySQL server no arquivo my.ini tem a seguinte linha => max_connections=1000 esse 1000 e o numero de conexão ao mesmo tempo, eu posso colocar algum valor q seja infinito?
caso eu comece um objeto
$objeto = new $objeto();
ele encerra sozinho quando acaba o codigo, o eu preciso fazer o
$objeto = null como você disse, fiquei meio na duvida.
sobre o max_connection
meu dedicado tem processador intel i7 4.7ghz 64Gb de RAM>
7 horas atrás, RogerTi disse:
ele encerra sozinho quando acaba o codigo, o eu preciso fazer o
Quando o script terminar o PHP encerra automaticamente. Porem se apos as ações do banco, você não for fazer outras coisas que necessite do PDO, é uma boa pratica liberar os recursos que não serão mais usados.
Encerrando a conexão
<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
$sth = $dbh->query('SELECT * FROM foo');
$sth = null;
$dbh = null;
/*
[...]
*/
Sobre a configuração do seu servidor, sei que é possível estimar a demanda de IO, memoria e processamento, na minha vivencia, só conheci um DBA, que também era engenheiro, que sabia fazer esses cálculos. No geral, "é no olho"
Você não deve levar em consideração o efeito atípico de um ataque DDoS para "considerar/compreender" que suas conexões não estão sendo fechadas.
Um ataque DDoS pode gerar milhares de conexões simultâneas, estourando o limite estipulado. Logo, é inviável mensurar a quantidade de conexões que foram realizadas ao mesmo tempo.
O que você pode realizar é a "antecipação" do fechamento da conexão. No mais, todas as conexões são fechadas quando o script termina.
Conexões persistentes, por outro lado, são "cacheadas" para serem reutilizadas quando um script tentar se conectar utilizando as mesmas credenciais.
http://php.net/manual/pt_BR/pdo.connections.php
http://stackoverflow.com/questions/18277233/pdo-closing-connection
Quando você cria uma nova instancia da classe PDO, a conexão fica atrelada ao tempo de vida do seu objeto. Para fechar a conexão, é preciso destruir o objeto, garantindo que todas as referências restantes para ele sejam excluidas, para fazer isso, basta atribuir null à variável que contém o objeto. Se você não fizer isso explicitamente, o PHP irá fechar automaticamente a conexão quando o script terminar.
Nota : Se existem ainda outras referências a este objeto (um PDOStatement, ou de outras variáveis que referenciam ao mesmo objeto), estes devem ser removidos também (atribuindo null para a variável que faz referência a PDOStatement).
Fonte: http://php.net/manual/pt_BR/pdo.connections.php
Sobre max_connections, isso depende do seu servidor, se você tiver memoria e processamento para aguentar, pode aumentar até 100000
Fonte: https://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_max_connections