首先从View层入手
- DNS预读取
使用DNS预读取的方式在后台并行地进行DNS的解析,可以防止浏览器耗费时间去解析DNS从而影响页面DOM的渲染,一个稍微复杂的页面通常要进行多个域名的加载,省去解析DNS的时间是很有效果的。
<link rel="dns-prefetch" href="https://www.google.com">
<link rel="dns-prefetch" href="https://www.baidu.com">
- 图片压缩
- HTML压缩
在高效前端上看到如果把一个页面html的行前缩进全部去掉,页面的体积可以减少1/3。
- 资源文件不要在header位置加载
服务端
- 开启gizp压缩
- 页面静态化、部分静态化
- 数据缓存(memcache、redis)
- 优化sql;尽可能的减少数据库操作。
- 数据库主从复制读写分离
- 降低表的规模。垂直分表+水平分表
- 耗时任务交由异步队列处理(rabbitMQ)
运维
- CDN加速
- 提高带宽
- 选择性能更好的服务器
网友评论