CONEXÕES ADORMECIDAS

ARCADYUM 18/11/2014 23:57:01
#442611
FoxMan,
Utilizei sua formula para averiguar as conexões ao Banco de Dados. Ao conectar vejo uma no estado de execução e ela abre mais uma ou duas no modo Sleep. Alguém já viu isso ou pode me explicar o porquê?
FOXMAN 19/11/2014 14:07:17
#442626
Citação:

:
FoxMan,
Utilizei sua formula para averiguar as conexões ao Banco de Dados. Ao conectar vejo uma no estado de execução e ela abre mais uma ou duas no modo Sleep. Alguém já viu isso ou pode me explicar o porquê?


Conexoes com Estado = Sleep estão [Ô]adormecida[Ô], ou seja não estão sendo mais utilizada a quantade de segundos constante na coluna time.
Ocorreu possivelmente o que expliquei no meu primeiro post.
Ou seja no projeto, as conexões não estão sendo finalizadas de forma correta e abrindo-se outras conexões.
ARCADYUM 24/11/2014 19:37:28
#442740
Entendi,
Adaptei a sql que você postou em um código que encontrei na internet. Até onde testei, deu muito certo. Para quem quiser, futuramente, segue o código:

Public Sub Matar_Processo_Adormecido()

Dim strSQL As String = [Ô]SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, LEFT([ô]INFO[ô], 51200) AS Info FROM information_schema.PROCESSLIST Where Command =[ô]Sleep[ô][Ô]
Dim m_ProcessesToKill As System.Collections.ArrayList = New ArrayList()

If Conexao.State = ConnectionState.Open Then

Dim Mycmd As New MySqlCommand(strSQL, Conexao)

Try
[ô] Get a list of processes to kill.
Dim MyReader As MySqlDataReader = Mycmd.ExecuteReader()

While MyReader.Read
[ô]Find all processes sleeping with a timeout value higher than our threshold.
Dim iPID As Integer = Convert.ToInt32(MyReader([Ô]Id[Ô]).ToString())
Dim strState As String = MyReader([Ô]Command[Ô]).ToString()

If strState = [Ô]Sleep[Ô] Then
[ô] This connection is sitting around doing nothing. Kill it.
m_ProcessesToKill.Add(iPID)
End If

End While

MyReader.Close()
For Each aPID As Integer In m_ProcessesToKill
strSQL = [Ô]Kill [Ô] & aPID
Mycmd.CommandText = strSQL
Mycmd.ExecuteNonQuery()
Next

Catch ex As Exception
MsgBox(ex.Message, vbInformation, Titulo)
End Try
End If
End Sub
Página 2 de 2 [13 registro(s)]
Tópico encerrado , respostas não são mais permitidas