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