3.2.2客户端优化
客户端优化的首要目标是加快页面展现速度,其次是减少对服务端的调用。
常见解决办法:
分析瓶颈点,有针对性优化;
缓存为王,通过在客户端缓存静态数据提升页面响应时间;
通过GZIP压缩减少客户端网络下载流量;
使用压缩工具对js进行压缩,减少js文件大小;
删除、合并脚本、样式表及图片减少get请求;
无阻塞加载JS
预加载(图片、css样式、js脚本);
按需加载js脚本;
优化js处理方法提升页面处理速度。
WEB请求时序图:
在阿里“救了八年火”的架构师,大话系统架构优化项目
【案例】下面是某企业内部应用系统客户端HTTP请求监控记录:
在阿里“救了八年火”的架构师,大话系统架构优化项目
从上图中可以看到共计发送25次请求(21次命中缓存、4次与服务端交互)。
在阿里“救了八年火”的架构师,大话系统架构优化项目
从统计信息可以看到:总计请求耗时5.645秒,进行4次网络交互,接收5.9KB数据。发送110.25KB数据,GZIP压缩节省了:8KB数据。
后来该页面通过优化后端请求、合并和压缩JS/JSP文件等将页面响应时间优化到2秒左右。
PS:前端优化最好了解浏览器原理、HTTP原理
针对上面的技术我特意整理了一下,有很多技术不是靠几句话能讲清楚,所以干脆找朋友录制了一些视频,很多问题其实答案很简单,但是背后的思考和逻辑不简单,要做到知其然还要知其所以然。如果想学习Java工程化、高性能及分布式、深入浅出。微服务、Spring,MyBatis,Netty源码分析的朋友可以加我的Java进阶群:680130298,群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频免费分享给大家。 |