网站初次加载速度很慢,页面空白期很长,要过几秒之后才有内容显示?

写了个网站,测试阶段发现,网站第一次的打开速度会特别慢,页面空白时间长,第一次访问过后,出现内容的速度就快了。然后隔较长时间再重新访问时,又会出现第一次打开页面空白等待时间长的问题。难度是每次都要重新启动httpd服务吗,有什么好的解决办法?
环境是centos Apache php

阅读 14.7k
8 个回答

php 不存在编译这一说吧。 是否使用了cdn?如果用了的话,把文件弄到本地。速度应该就会快。 或者你你可以在网站打开的时候打开Chrome的debug模式。看看 到底是什么拖慢了加载速度 图片描述

这个网站的图很多。而且是比较大的图。比如第一个图花了7秒多还没加载完成。所以很慢。第二次的加载快的原因应该是浏览器缓存了这些图片。

clipboard.png

我觉得跟php是没有关系的,因为php混合html加载的速度几乎是最快的。我猜想的原因是你这个网站有缓存机制。第一次访问的时候因为没有缓存会生成缓存,所以第一次加载会慢,后面读取缓存速度会快很多。但是缓存是有时间限制的,可能过了一段时间缓存被清除了,这个时候又会重新生成缓存,就像是第一次访问那样的。我觉得是这样的

后端日志打印一下程序执行花费的时间,从浏览器debug模式,看一下每一个请求花了多少时间;从而确定一下是传输过程花费时间多,还是程序处理花费时间多。
浏览器默认会缓存“符合缓存策略”的静态文件,所有有可能是第一次请求之后,静态内容都缓存了,第二次请求的时候就不用重新请求了,所以相对较快。 隔较长时间后访问又慢,有可能是默认的缓存时间太短。
。。。。。。
你网站打开慢就是图片加载慢。基本需要20多秒。
1、浏览器并发加载资源数是有限制的,网站里一些通用的图标(比如搜索、购物车等)合并成一张“雪碧”图;
2、确认一下服务器带宽是否够用
3、对于稍大的内容可以适当压缩后传输
4、建议使用CDN,肯定能解决打开慢的问题。现在CDN基本都是白菜价了。

空白页面应该是后端还没有响应,这个时候大多数情况下是在在查询数据库。你看看,是不是数据库查询慢。或者你使用缓存保存一下结果,这样可以吧慢的次数减少很多,但是最终还是要解决查询的问题的

刚看了下页面,发现图片较多,费时间比较多,很多都不是首屏必须展示的,可以考虑使用下懒加载。
关于图片加载的优化方法,我也提过类似的问题,可以当个参考:问题

综上各位的解答,我也认为图片的拉取是延缓了网页浏览速度的原因,特别是看到貌似你将图片全部放在了自己的服务器内? 那考虑到带宽和并发 ,这简直是个灾难了

买个更大服务器?
换个更小的图片?
压缩个JS?
优化个SQL查询?

跟你网速也有关系
图片描述

另外图片内存大的可以适当压缩,使用懒加载

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题