提高Web访问速度的方法
由于Web的访问在数据流上需要经过服务器端,传输网络和浏览器端,所以我们可以从这三个方面来考虑提高访问速度的方法,此外还有代码级别的优化
- 浏览器端
- 减少http请求:合并CSS, JavaScript, 图片等。
- 使用浏览器缓存:设置HTTP头中Cache-Control和Expires的属性,设定浏览器缓存
- 启用压缩:在服务器端对文件进行压缩,在浏览器端进行解压缩
- CSS放在页面最上面,JavaScript放在页面最下面
- 减少Cookie传输
- 网络通道
- CDN:内容分发网络。部署在网络运营商的机房,将静态数据缓存在离用户最近的地方。
- 服务器端
- 反向代理服务器:缓存静态数据
- 应用服务器:使用 MemCache, Redis 缓存
- 数据库服务器:自身缓存技术
- 异步操作:使用message broker将调用异步化,削减波峰。
- 使用集群:使用负责均衡技术构建一个由多台服务器组成的集群。(Scale out)
- 硬件提升:CPU, 内存,硬盘 (Scale up)
- 代码优化
- 多线程
- 资源复用: Singleton, Object Pool
- 数据结构
- 垃圾回收GC
总的来说,提高性能的方法就是
- 提高服务器端的处理能力,无论是Scale out还是Scale up。
- 在各处使用缓存
- 降低网络开销
至于提高网络带宽,提高PC端性能等由于不在网站提供者的控制范围内,就不多说了。
注:本文主要内容来自《大型网站技术架构:核心原理与案例分析》,略有修改