网络等待时间长的原因

| 我有一个网站正在缓慢地移动。 Safari的检查器和Firebug均报告大多数加载时间是由于延迟造成的。实际下载时间不到一秒钟。尽管有许多数据库活动在进行中(尽管衡量指标表明它非常健康),但是还有什么会导致真正的高延迟呢?这是纯粹的网络事物,还是我可以对应用程序进行更改以提高延迟数? 我正在使用YSlow来帮助确定性能改进,但是总的来说,我看不到它报告了似乎疯狂的不合理的任何内容。当然,有改进的机会,但似乎没有什么会导致我看到大量的加载时间。 谢谢。 更新 一些背景和指标,以防万一。这是一个CakePHP应用程序,我使用我的ѭ0动作作为基准。为了确定应用程序代码在其中起什么作用,我在输入
UsersController::beforeFilter()
后立即打印了一个堆栈跟踪。这里的输出:
UsersController::beforeFilter() - APP/controllers/users_controller.php, line 13
Controller::startupProcess() - CORE/cake/libs/controller/controller.php, line 522
Dispatcher::_invoke() - CORE/cake/dispatcher.php, line 187
Dispatcher::dispatch() - CORE/cake/dispatcher.php, line 171
[main] - APP/webroot/index.php, line 83
Safari的检查器显示的加载时间范围是11.2秒到52.2秒。这似乎使我远离了应用程序代码以及主机的某些内容,但是也许我完全误解了它或将其简化了吗?     
已邀请:
如果您不能直接确定应用程序的运行缓慢组件,则在此过程中还有许多其他步骤肯定会降低站点速度。每当遇到异常长时间的轮询时,我通常都会先查看本地DNS,然后再查看托管的DNS。有时,缓存刷新(对他们而言,不是您自己的)可能会导致大量轮询,直到他们的数据库赶上来。 否则,他们实际上可能会出现服务中断,并且您的请求将发送到其辅助或备份服务器。如果从域解析的角度看一切都不错,则您的托管服务提供商可能会遇到服务中断,这种中断可能会以多种不同的形式发生,例如从备份中提供静态内容或过度分配共享资源,直到一切正常运行。当他们遇到麻烦时,您会在共享云体系结构上体验到无数个称为“ 3”的东西。从好的方面来说,在这种情况下您不会造成总的中断。 有一次,这只是在共享网格配置中,我让处理器陷入了困境。奇怪的是,静态内容仍在通过备份提供,但仍在对我们的数据库(位于另一台服务器上)进行轮询,由于备份上的分配过多,导致我们的帐户出现“ 4”美元。这不是我们的错,但主持人开始发送有关我们过多的长期投票的令人讨厌的电子邮件。故事的寓意是,如果它不是您的应用程序,并且出乎意料,我敢打赌,您会发现某些硬件故障或配置错误。 同样,现在我想到了,如果您要联合一些外部内容(无论是服务器端还是浏览器端),则可能根本不在您的责任链中。例如,如果您正在从订户服务中投放广告,则它们可能处于高负载期或中断。这些只是我要缩小罪魁祸首的步骤。     
可能这不是您的解决方案,但是当我遇到缓慢的野生动物园(和FF)时,我只是将DNS服务器更改为opendns(208.67.222.222,208.7.2.220.220),所有问题都得到了解决。     

要回复问题请先登录注册