大型网站核心架构中的"高性能"设计方法
🌙
手机阅读
本文目录结构
性能是一个网站架构设计的重要方面,任何软件架构设计方案都必须考虑可能会带来的性能问题;网站性能的优化手段非常多,从用户浏览器到数据库,影响用户请求的所有环节都可以进行性能优化;
一个打开很慢的网站会导致严重的用户流失(除非没得选,比如 12306);
代码层面优化
- 使用多线程
- 改善内存管理
浏览器端优化
- 浏览器缓存
- 页面压缩
- 合理布局页面
- 减少 Cookie 传输
- 静态资源 CDN
- 反向代理服务器
- 缓存热点文件
- 加快请求响应速度
- 减轻应用服务器负载压力
应用服务端优化
通过缓存在内存中的热点数据处理用户请求,加快请求处理过程,减轻数据库压力
- 服务器本地缓存
- 分布式缓存
- 异步操作/消息队列(当前请求直接响应给用户)
- 服务器组成集群共同对外服务(提高整体处理能力,改善性能)
数据库
- 关系型数据库
- 索引
- 缓存
- SQL 优化
- NoSQL 数据库
- 优化数据模型
- 储存结构
- 伸缩特性
性能好坏的判断指标
- 响应时间
- TPS
- 系统性能计数器
这些指标也是网站监控的重要参数,可以用来分析系统瓶颈,预测网站容量,并对异常指标进行报警,保障系统可用性 2
其它注意
两个方向需要注意考察
- 系统在高并发的情况下,超出负载设计能力的情况下可能会出现的性能问题(高压力)
- 系统在持续运行且访问压力不均匀情况下的稳定性