让本地主机更快?

8
我目前正在一个项目上工作,并在本地主机上测试它。
我担心的是页面加载速度相当慢(500-700ms,而不是更短)。我认为本地主机加载速度应该比任何其他网页都要快(因为它存储在我的本地计算机上)。因此,如果这些是本地主机的加载时间,那么将我的网站移动到远程服务器上会使它们显著增加吗?
作为技术细节,我正在使用CakePHP框架开发,并有几个AJAX请求,所有请求都需要上述指定的时间来加载。这些请求不应该耗时太长,因为它们加载了一个由CakePHP生成的带有MySQL操作的页面,这些操作需要少于3ms的时间(如框架调试器所示)。我还在Windows 7机器上使用XAMPP(因此使用Apache webserver)。
感谢您的回答,我相信这篇文章也会对其他人有用。
3个回答

4
你可能会发现网页加载速度更快了 - 因为你的电脑可能没有真正服务器那么强大。个人经验是,在实际运行时我的项目总是比预期快得多,但这也取决于服务器。你应该上传一个快速测试以减轻担忧。

那么,您是说一个真实服务器上的远程页面可能比我的本地机器上的页面加载得更快?在远程通信时不应该会有某种形式的延迟吗? - linkyndy
通信延迟不是唯一的问题...计算机还必须实际运行脚本。静态页面(即仅.html没有php或ajax)对您有多大帮助? - Random832
你的电脑与一堆经过优化以服务于 HTTP 内容的机器相比,运行速度几乎可以忽略不计。虽然你可能会看到显着的(正面)差异,但这取决于服务器及其位置。最好的方法是尝试并发现差异,然后再决定是否有问题。你所发布的时间并不太糟糕。 - Wesley Murch
好的,我现在更加放松了...我认为正常的加载时间应该在100毫秒以下。无论如何,我将在真实服务器上进行测试,然后得出最终结论。@Random832:它们的加载时间在30毫秒以下。 - linkyndy
虽然专用网络服务器可能会进行优化,但强大的开发机器同样可以实现相同的结果。特别是如果我们只考虑单个用户的原始速度。 - Evert

3

请记住,在测试时,您可能会将debug设置为大于0。当大于0时,您的模型结构不会被缓存,使得Cake在每个请求上重新加载它们。


我忘记计算这个事实了。如果我禁用调试,它应该会更快。 - linkyndy
完全忘记了这个问题。当我改变数据库结构并部署我的应用程序时,这对我来说是一个巨大的问题。 - Nick

2
如果您认为MySQL很快,但减速纯粹在于PHP,启用APC扩展可能会有所帮助。APC缓存PHP解析器的输出并进行一些其他优化。通常它可以节省大量时间。
但是一般情况下,您需要进行分析。使用XDebug获取分析信息,并使用WinCacheGrind读取哪些地方比较慢。

我不知道减速是由PHP引起的。也许在进行AJAX请求时,Javascript出现了减速。我不知道,有些东西导致页面无法很快地被找到。关于PHP缓存,据我所知,CakePHP默认情况下会执行此操作。或者我需要启用特定的功能吗? - linkyndy
如果是整个页面,使用客户端分析器(Firebug 可以提供信息,YSlow 也可能有所帮助)。CakePHP 的缓存与 APC 不同。APC 是一个 PHP 扩展,可以加速 PHP 核心的运行。建议尝试一下。 - Evert
所以,你的意思是我应该在使用Cake的缓存之外还要用APC吗?这两个缓存系统不会冲突吗? - linkyndy
安装APC是一种完全不同的缓存机制。请仔细阅读相关资料! - Evert

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接