微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 连接到mysql服务器(localhost)非常慢

实际上它有点复杂:

摘要:与DB的连接非常慢.

页面渲染大约需要10秒,但页面上的最后一个语句是一个echo,我可以在firefox中加载页面时看到它的输出(IE是相同的).在谷歌浏览器中,只有在加载完成后,输出才会变为可见.浏览器的加载时间大致相同.

在调试中我发现它的数据库连接正在产生问题.数据库在另一台机器上.进一步调试.我在本地计算机上部署了数据库..所以现在数据库连接在127.0.0.1但连接仍然需要很长时间.

这意味着问题在于APACHE / PHP而不是MysqL.但后来我将我的代码部署在另一台远程连接数据库的机器上.一切似乎都很好.

基本上应用程序使用几个mod_rewrite ..但我删除了所有的.htaccess文件,慢速连接问题仍然存在..

我在我的机器上安装了另一个APACHE并使用了认设置.连接仍然很慢.

添加了以下语句来衡量执行时间

$stime = microtime();  
    $stime = explode(" ",$stime);  
    $stime = $stime[1] + $stime[0];  

// my code -- it involves connection to DB

    $mtime = microtime();  
    $mtime = explode(" ",$mtime);  
    $mtime = $mtime[1] + $mtime[0]; 

    $totaltime = ($mtime - $stime);
    echo $totaltime;

输出为0.0631899833679

但是firebug Net面板显示总加载时间为10-11秒.谷歌浏览器的情况也是如此

我试图关闭Windows防火墙..连接仍然很慢

我只是不能找到原因..我已经尝试了多个数据库服务器..多个apach ..似乎没有什么工作..任何想法可能是什么问题?

[编辑]

请仔细阅读评论部分了解更多详情.实际上我认为我即将获得解决方案.基本上我正在开发自己的框架,其中包括通过.htaccess文件重写URL.我添加了几个css和js文件,我注意到没有很好的理由(在Firefox中)为这些文件发送了多个请求.我认为这个问题与CONTENT-LENGTH标题有些相关,因为firefox没有收到这个标题所以它一直在等待内容(可能会有超时)..它与transfer-encoding有什么关系:chunked?

在这里参加派对的时间已经很晚了,但是对于此页面的任何未来访问者我都有解决方案.

简单地改变:

$link = MysqLi_connect('localhost','username','password','db');

至:

$link = MysqLi_connect('127.0.0.1','db');

这将使本地主机的速度提高多达1000%.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐