在这种情况下,我最近没有改变任何东西,但是最近我对远程服务器的mysqli_connect()非常慢(大约一半的时间达到了30秒的最大执行时间)。当它工作时,响应时间在28到30秒之间。
我已经在两台服务器上重新启动了MySQL。保存PHP脚本的服务器是本地WAMP服务器,远程服务器是LAMP堆栈。LAMP服务器能够很好地提供WAMP服务器所请求的相同信息。查询似乎不是问题所在,相反看起来mysqli_connect()才是问题所在:
$mtime = microtime();
$mtime = explode(" ",$mtime);
$starttime = $mtime[1] + $mtime[0];
$this->conn = mysqli_connect($this->host,$this->user,$this->password) or die(mysqli_error($this->conn));
$etime = microtime();
$etime = explode(" ",$etime);
$endtime = $etime[1] + $etime[0];
$totaltime = ($endtime - $starttime);
echo('<!--mysqli_connect took: '.$totaltime.' seconds-->');该页面(当它没有给出点击max_execution_time的500响应时)将显示:
<!--mysqli_connect took: 28.975151777267 seconds-->远程LAMP服务器上的相同代码将显示:
<!--mysqli_connect took: 0.036190032958984 seconds-->我没有更新这段代码,也没有做任何配置更改,因为这是工作。除了在WAMP服务器上超过30秒的max_execution_time超出错误之外,我在这两个服务器上都没有得到任何错误。有人有什么建议吗?
感谢您的阅读。
发布于 2014-01-15 02:09:00
也许是DNS问题?您是否尝试过将主机字符串更改为直接的IP地址,而不是域名?这里有一个类似的问题,Connecting to mysql server(localhost) very slow,听起来很相似,但它是本地主机,更改到127.0.0.1解决了这个问题。
发布于 2014-01-15 07:12:27
发现问题并与DNS相关。尽管如此,我仍然不能完全理解。LAMP服务器上的守护程序named似乎已停止。此服务器是我用来连接的域名的权威NS。我不知道为什么它有时会工作,或者为什么当我使用IP地址时它不工作,但现在我重新启动了服务,它工作得很好。
谢谢你的帮助。
https://stackoverflow.com/questions/21120653
复制相似问题