网站上的第一页请求非常慢

时间:2012-04-07 05:58:43

标签: php

我在没有访问20多分钟后从我的网站加载的第一页非常慢。后续页面加载速度提高了10-20倍。这种症状的常见原因是什么?当我的服务器没有收到http请求时,我的服务器可能正在睡觉吗?

3 个答案:

答案 0 :(得分:3)

我会回答这个问题,因为我确信这会让很多新人感到困惑。

真正的简短回答是:caching

几乎计算机中的每个程序都使用某种形式的缓存来记住最近已加载/处理过的数据,因此不必再次进行工作。

缓存的大小总是有限的,所以必须扔掉东西。 99%的时间是缓存条目到期的主要标准是,这是最后一次使用的时间吗?

  • 您的操作系统缓存从磁盘读取的文件数据
  • PHP缓存页面并将它们保存在内存中
  • CPU将内存缓存在自己特殊的更快的内存中(尽管这对大多数用户来说可能不那么明显)

有些东西实际上不是缓存,其工作方式与缓存相同:

  • virtual memory又名swap。当没有足够的内存可用于某些程序时,操作系统必须通过将大块内存移动到磁盘上来为它们腾出空间。在更新的操作系统上,操作系统只会这样做,这样可以使磁盘缓存更大。
  • 有些网络服务器喜欢自己运行多个副本,并分享它们之间的请求工作量。副本也会单独缓存内容,具体取决于设置。当工作负载足够低时,服务器可以终止其中一些进程以释放内存并对计算机的其余部分保持良好状态。稍后,如果工作负载增加,则必须启动新进程,并且其内存中加载了各种数据。

(注意,上面的维基百科链接有很多详细信息。我不希望每个人都阅读它们,但如果你真的想知道更多,那么它们就在那里)

答案 1 :(得分:2)

可能没有睡觉。它只是暂时没有访问并释放它的资源。重新开始它需要时间。

如果许多用户经常访问该网站,则每次都应该快速响应。

答案 2 :(得分:0)

听起来它可能是缓存。服务器是否与浏览器在同一台计算机上运行?如果没有,网络配置是什么(相同的局域网等)?