前提:
商城的首页是采用装修做的,页面会有很多的商品块,采用ajax局部加载的方式来绘制到页面上,但是部分ajax的请求速度非常慢,找出问题原因并解决
上图可以看出:ajax请求加载页面时,尽管会获取的内容很小(几百B)但是网络相应时间却非常长,主要集中在waiting(TTFB)
waiting(TTFB)解释:
从客户端开始和服务端交互到服务端开始向客户端浏览器传输数据的时间(包括DNS、socket连接和请求响应时间),是能够反映服务端响应速度的重要指标,获取在接收到响应的首字节前花费的毫秒数。
本次主要从程序方面来分析:即服务器接受请求开始到返回数据给客户端为止
1、看页面ajax请求的页面是否本身加载速度很慢
2、在页面请求过程中,除了本身请求的商品数据之外,是否还有其他的内容需要加载
3、解决上述两点问题,观察页面的响应时间
解决办法:
1、通过xhprof来进行性能分析,发现商品信息加载只耗费了43ms左右的时间,钩子中的商城数据消耗约417ms的时间,对钩子数据接口进行缓存,将钩子的请求时间降到45ms左右
重新观察页面,部分ajax请求的时间仍然在1-2s左右。
2、试着减少页面的ajax强求,发