2013-10-04 159 views
1

我正在处理页面加载非常慢。我使用Chrome控制台的“网络”标签获取此信息(但在所有浏览器上都很慢)。MAMP与外部数据库连接运行速度非常慢

我已经研究了这个问题,但现在我完全难住了。我试过Blowski's answerMAMP:重新加载页面非常慢(编辑我的hosts文件),但没有让页面加载更快的运气。

我正在运行OS X 10.8.5,CodeIgniter 2.1.3,并连接到远程MySQL数据库(它与活动Web服务器在同一台服务器上)。不知道这与长久的等待有什么关系。加载相同页面速度测试中均低于:

本地主机
等待时间为13.49秒

enter image description here

Web服务器
等待时间为222毫秒

enter image description here

我能做些什么来解决这个问题?

更新:我已经将问题缩小到了MySQL数据库(它位于远程服务器上,与PHP(MAMP)的安装位置不同)。有没有需要改变的设置来解决这个可怕的加载时间?我也使用IP地址连接到数据库,而不是域名,所以我不认为这是安装MySQL服务器的DNS问题。

+0

“10分钟路程”在连接方面意味着什么? PHP和MySQL机器是否在同一个数据中心? – AllInOne

+0

我只是说MySQL服务器已经关闭了。这不在该国的另一边。 PHP和MySQL只在Web服务器上处于同一个数据中心,而不在本地主机上。 – doitlikejustin

+0

就这个问题而言,PHP在本地机器上运行,连接到远程位置的MySQL数据库 - 正确吗?这些应用程序之间有什么样的连接?这就是为什么你运行缓慢。对于每个页面请求,随着数据在PHP和MySQL之间来回移动,可能会有数十次*顺序*往返。解决方案是运行MySQL的本地副本或以某种方式减少数据和应用程序层之间的网络拥塞。 – AllInOne

回答

1

对于一般的解决方案,请尝试使用分析器 - 它是用于诊断性能问题的。

这个环节有着相当不错的教程 - http://geek.michaelgrace.org/2011/08/xdebug-cachegrind-and-mamp-on-mac-osx/

您应检查结果,看看哪些功能(S)采取执行的最长时间。我怀疑你的远程数据库连接可能有问题,但一个分析器会给你明确的结果。

+0

这没有回答我的问题,但我接受它,因为它帮助我这个问题的来源(这仍然没有解决)它归结为长期等待MySQL连接/查询 – doitlikejustin

0

这么长时间的滞后让我怀疑作为罪魁祸首的分析,特别是因为它只在本地主机上。

检查您的php.ini是否启用了xdebug(可能在单独的xdebug.ini中找到),如果是,则将xdebug.profiler_enable设置为true/1。

这或者MAMP使用另一个分析器。

+0

感谢您的答案。我试图将它添加到我的主php.ini和本地php.ini以及使用'ini_set',但没有运气在修复这个问题:( – doitlikejustin

+0

我并不打算将它设置为true(因此启用它),我的意思是如果它存在,这可能是滞后的原因,也许你可以尝试将它设置为false? – xiankai

+0

噢,我看到了,好吧,默认情况下它已关闭,我手动将其设置为false,但仍然不起作用 – doitlikejustin

0

运行MySQL守护程序的服务器是否配置为执行反向DNS查找?如果开发机器是标准ISP线路上的自己的计算机,这可能会导致每次请求严重延迟,因为反向DNS查找必须每次都超时。

+0

我会改变配置不这样做 – doitlikejustin

+0

这是你的MySQL服务器的管理员必须设置的设置。威力尽管在共享和/或托管主机上运气不佳。这里有相同的情况。 – arnekolja

+0

我有root权限和MySQL管理员访问 – doitlikejustin