高并发下页面优化技术

高并发下页面优化技术

  1. 页面缓存(最大粒度)+URL缓存+对象缓存(最小粒度)

  2. 页面静态化(页面为html,静态,访问在客户端,ajax,js访问数据),前后端分离

  3. 静态资源优化(图片,js,css)

  4. CDN优化

并发瓶颈在数据库,我们减少对数据库的访问,最有效的方式就是缓存

页面缓存:

  1. 取缓存

  2. 手动渲染模版

  3. 结果输出

对象缓存

  1. 失效:应用程序先从缓存中取数据,没有得到,则从数据库中取,成功后,放到缓存中;

  2. 命中:应用程序从缓存中取数据,取得后返回;

  3. 更新:先将数据存到数据库中,成功后,再让缓存失效;

    对象缓存之后,若有数据更新,一定要更新缓存,否则会出现缓存不一致的情况

缓存结果:QPS提高一倍多,mysql负载变得很小,系统负载变小

页面静态化

简单来说,就是使用html进行页面展示,ajax进行前后端交互,流行的框架有Vue、Angular。静态化可以使html代码在客户端缓存,不需要去请求服务器。

浏览器缓存

  1. Pragma HTTP1.0

  2. Expire HTTP1.1 标准时间(时区) 服务端时间

  3. Cache-Control 秒

静态资源优化

  1. JS/CSS压缩,减少流量

  2. 多个JS/CSS组合,减少连接数(Tengine,webpack)

  3. CDN

用户发起请求->页面静态化缓存在客户端->CDN->Nginx缓存->请求到达服务端,页面缓存->对象缓存->数据库。通过不同粒度,不同层面的缓存,逐步减少对数据库的负载。

你可能感兴趣的:(java)