连接到MySQL需要很长时间

这是一个正常的客户端发送一个AJAX请求到服务器,而不使用任何库。

关于数据库:

DB中只有一个表有2列和2行。 InnoDB的存储引擎

注意 :这是一个testing数据库。 我也有另外一个数据库有4个表5000-6000logging和18个其他表less于500个logging

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 (CASE#1):没有连接查询到数据库

 <?php // $con = mysqli_connect("host","username","pass","test_db"); echo json_encode([ 'success' => true ]); exit(); 

(响应需要〜59ms)

server.php (CASE#2):连接查询到数据库

 <?php $con = mysqli_connect("host","username","pass","test_db"); echo json_encode([ 'success' => true ]); exit(); 

(响应需要〜452ms;这不应该发生,直到一个星期前才发生)

为什么如果将该连接线包含到数据库中,响应时间很长?

编辑:(只是把如果它会有助于更好地理解)

当我运行SHOW PROCESSLIST; 当客户端发送AJAX请求时,我看到这个,

SHOW PROCESSLIST的结果

从进程列表看来,它不是本地数据库,即不在本地主机上,而且您不使用本地主机或127.0.0.1访问它。

因此它可能是networking或DNS相关的问题。 检查DNS解决问题和networking延迟问题。

如果数据库服务器位于同一主机上,并且您在连接string中使用本地主机,则尝试将其更改为127.0.0.1