johnny1991 2017-04-26 23:51:44 3405次浏览 2条评论 7 3 0

web前端性能优化方案

浏览器优化访问

  • 减少http请求
    合并css,js,图片和其他静态资源,将浏览器一次访问需要的静态资源合并成一个文件,这样浏览器只需要请求一次http
  • 使用浏览器缓存
    • 使用http cache control 和expires属性设置过期时间
      • 使用etag,last modified 来验证请求是否有更改,如果没有则返回304,如果更改了,则返回200,请求服务器数据
      • 应采用逐量更新的方式,比如更新10个文件,不宜吧10个文件一次全部更新,而是通过设置时间差,使得每个文件的过期时间不一致,以避免浏览器突然大量文件失效,同时请求服务器,造成服务器超载
  • 启用压缩
  • css放在最前面,js放在最后面,防止浏览器在加载js后立刻执行,会阻塞整个页面
  • 介绍cookie传输

cdn加速

cdn的本质是缓存,将缓存存在离用户最近的地方,使用户以最快的速度访问到数据;cdn一般缓存静态资源

反向代理

反向代理与正向代理图解

  • 安全性,来自互联网的反问必须啊经过代理服务器,相当于在web服务器和可能来自互联网的攻击之间提供了屏障
  • cache,代理服务器都具有cache服务器资源的功能,加速了响应速度,减轻了服务器压力
  • 反向代理特有
    • 客户端反问服务器的时候,直接先访问反向代理服务器,(对于客户端来说,反向代理服务器就是服务器),而使用正向代理服务器,对于客户来说,直接访问是不会经过代理服务器的,必须指定代理服务器才行
      • 反向代理服务器可以实现服务器的负载均衡,通过负载均衡构建的应用集群可以提升系统总体处理能力
      • 如果反向代理服务器正好与客户处在同一个网络里面,理论上来说是实现了cdn服务器(cdn原理与此相似)

应用服务器性能优化

分布式缓存

缓存的本质是内存的hash表,时间复杂度是O(1),缓存用来存放变化少,访问频繁的数据,且直接访问数据库很慢的数据;网站访问2:8定律;

使用消息队列,异步程序

使用集群,负载均衡

代码优化

多线程

  • 线程并发安全

资源复用

  • 单例模式和对象池

存储性能优化

觉得很赞
您需要登录后才可以评论。登录 | 立即注册