A conexão com o MySQL está demorando muito

1

Aqui está um cliente normal enviando um pedido AJAX para o servidor, sem usar nenhuma biblioteca.

Sobre o banco de dados:

Existe apenas 1 tabela no DB com 2 colunas e 2 linhas. O mecanismo de armazenamento em InnoDB

NOTA : Este é um banco de dados de teste. Eu também tenho outro DB tendo 4 tabelas com 5000-6000 registros e 18 outras tabelas com menos de 500 registros

client.php :

<html>
...
<body>
  <button class="btn__">Send</button>
  <script>
    var btn = document.querySelector('.btn__');
    btn.onclick = function()
    {
       var xmlhttp = new XMLHttpRequest();
       xmlhttp.onreadystatechange = function()
       {
         if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
         {
            // document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
         }
       };
       xmlhttp.open("POST", "server_files/server.php", true);
       xmlhttp.send();
    }
  </script>
</body>
...
</html>

server.php (CASO # 1): Nenhuma consulta de conexão ao banco de dados

<?php

  // $con = mysqli_connect("host","username","pass","test_db");

  echo json_encode([
    'success' => true
  ]);
  exit();

(resposta demora ~ 59ms)

server.php (CASO # 2): consulta de conexão ao banco de dados

<?php

  $con = mysqli_connect("host","username","pass","test_db");

  echo json_encode([
    'success' => true
  ]);
  exit();

(a resposta demora ~ 452ms; isso não deveria estar acontecendo e não aconteceu até uma semana atrás)

Por que demora para a resposta incluir essa linha de conexão ao banco de dados?

EDIT: (apenas colocando se vai ser útil entender melhor)

Quando executo SHOW PROCESSLIST; quando o cliente está enviando a solicitação AJAX, vejo isso

Resultado de SHOW PROCESSLIST

    
por Devang Mistry 09.05.2016 / 16:14

1 resposta

0

Na lista de processos, parece que não é um banco de dados local, ou seja, não no localhost e você não está acessando-o usando localhost ou 127.0.0.1.

Portanto, pode ser um problema relacionado à rede ou ao DNS. Verifique problemas de resolução de DNS e problemas de latência de rede.

Se o DB Server estiver no mesmo host e você estiver usando localhost na cadeia de conexão, tente alterá-lo para 127.0.0.1

    
por 09.05.2016 / 16:55