大型网站技术架构(3):WEB 前端性能优化



上次说到了性能优化策略,根据网站的分层架构,可以大致的分为 web 前端性能优化,应用服务器性能优化,存储服务器性能优化三大类

这次来说一下 web 前端性能优化,一般来说,web 前端就是应用服务器处理之前的部分,包括浏览器渲染、加载,前端视图模型,图片视频资源,CDN 服务等,主要优化方法就是优化浏览器访问渲染过程,使用反向代理,使用CDN 服务等


浏览器访问渲染优化

减少 http 请求数

http 协议是无状态的应用层协议,每次 http 请求都会建立新的通信链路,并且在服务端,每个 http 连接都会开启一个单独的线程去处理请求,这都会产生额外的开销

主要手段就是去合并压缩 css,JavaScript,图片文件,把需要的 css,JavaScript,图片资源进行合并减少建立的连接请求数

同时使用 http 的 keep-alive 来进行连接的复用,以此来减少建立的 http 连接数,提高访问性能

启用压缩

在服务端进行文件的压缩,减少通信传输过程中的数据量

对于文本文件,压缩率能够达到 80% 以上,因此在服务端启用 gzip 压缩是一个很好的选择,但启用压缩的同时也会给服务器带来额外的开销,所以要具体情况具体分析

css,JavaScript 代码优化

  • css 代码优化:

    • 尽量使用外部样式,并且放在页面顶部加载,一方面能够及时渲染,另一方面能够避免因某些样式导致阻塞渲染

    • 压缩合并 css 文件,尽量精简文件,减少通信传输数据量和请求连接数

  • JavaScript 代码优化:

    • 因为 JavaScript 代码边加载边解析,解析的过程会阻塞浏览器渲染,因此把 JavaScript 代码放在页面底部加载

    • 同样的压缩合并 JavaScript 文件,尽量精简文件,减少通信传输数据量和请求连接数

    • 写高性能的 JavaScript 代码

使用浏览器缓存

一般来说,对于网站里面不经常变化的静态资源,更新频率比较低,因此可以把这些资源缓存在浏览器中,能够很好的改善性能

通过设置 http 头里的 Cache-Control 和 Expires 属性来设定浏览器缓存时间

另外还有 Etags 和 opcode 的缓存,根据具体情况进行选择吧


CDN 加速

CDN 的本质也属于缓存,内容分发网络,把数据缓存在里用户近的地方,使用户尽快的获取数据

因为 CDN 都是部署在网络运营商的机房,这些运营商又同时为用户提供网络服务,因此用户请求的路由会优先到达CDN 服务器,如果存在请求的资源的话,就直接返回,最短路径返回响应,加速用户访问速度,同时还能够为中心机房减轻压力

CDN 一般用来缓存静态资源,css,Script 脚本,静态页面,图片等,这些内容修改频率很低但是访问请求频率很高,因此放在 CDN 上能够很好的改善访问速度


反向代理

传统的代理服务器是当你请求不到所请求的资源时,由代理服务器帮你请求,你知道你请求的最终的服务器是谁,典型的例子就是 VPN,通过代理服务器来请求到墙外的世界

而反向代理是当你请求一个地址时,你请求的是反向代理服务器,然后由反向代理服务器去请求其他服务器来获取内容,而你不知道最终是从哪一台服务器获取到的数据

反向代理 web 服务器接收 http 请求,然后进行请求转发,获取到内容后返回给你,你只知道是由反向代理服务器给你的数据,而不知道数据源最终是从哪个服务器来的

反向代理服务器具有保护作用,来自互联网的请求都需要经过反向代理服务器,相当于在 web 服务器之间建立起了一道屏障

除了安全以外,可以在反向代理服务器上进行一些静态资源的缓存,以此来提高访问速度,减轻应用服务器的负载压力

当然,有些动态资源也可以缓存在代理服务器上面,比如说热门的词条,帖子,博客等,这些资源的请求量可能非常非常的大,如果每次都走一遍流程的话会造成很大的压力,同时,当这些动态内容发生改变时,会通知反向代理服务器缓存失效,代理服务器会重新缓存动态资源

除此之外,反向代理服务器还可以用来做负载均衡,通过负载均衡来构建服务器集群,以此来提高系统的总体处理能力,进而应用提高服务器处理高并发的能力


PS:使用 ajax 也是提高用户体验很好的方法,不过 ajax 对于 SEO 并不友好,所以需要用到 SEO 的地方还是要考虑好是否要用 ajax


好了,关于 web 前端优化就写到这里,下次会继续写应用服务器性能优化,存储服务器性能优化

大型网站技术架构(1)
大型网站技术架构(2):架构要素和高性能架构
大型网站技术架构(3):WEB 前端性能优化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大型网站性能优化是指通过调整网站技术架构和优化网站的各项性能指标,提升网站的访问速度和用户体验。《大型网站性能优化实战》是一本介绍大型网站性能优化实战经验的PDF书籍。 这本书的内容主要包括以下几个方面: 首先,介绍了大型网站性能优化的背景和意义。随着互联网的发展,大型网站的流量和用户数量不断增加,而网站性能的优化成为提升用户满意度和增加用户粘性的重要手段。 其次,该书详细介绍了大型网站性能优化的核心原则和方法。从前端优化、服务器优化、数据库优化等方面进行了系统的阐述。比如,前端优化包括减少HTTP请求、压缩资源、合并脚本等;服务器优化包括负载均衡、缓存设置、静态化页面等;数据库优化则包括索引优化、查询优化、表结构调整等。 接着,书中还提供了一些实战案例。通过介绍一些知名网站性能优化实践,读者可以学习到一些具体的优化方法和经验。这些案例涵盖了各个方面,包括淘宝、京东等大型电商网站,以及新浪微博、知乎等社交媒体平台。 最后,该书还提供了一些性能测试工具和监控工具的介绍。这些工具可以帮助网站管理员进行性能测试和实时监控,以便及时发现和解决性能问题。 总的来说,《大型网站性能优化实战》是一本介绍大型网站性能优化实践经验的宝藏。无论是网站开发者还是运维人员,都可以从中学习到一些实用的优化方法和技巧,来提升网站性能和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值