4. 瞬时响应:网站的高性能架构
2019-08-04 本文已影响0人
今天不想掉头发
性能测试指标:
- 响应时间(请求操作重复数次,然后取平均数,得到单次请求的相应时间)
- 并发数(同时提交请求的用户数目,一般通过多线程模拟并发用户来测试系统的并发处理能力)
- 吞吐量(单位时间内系统处理的请求数量):TPS(每秒事务数)、HPS(每秒HTTP请求数)、QPS(每秒查询数)
- 性能计数器(系统负载,内存CPU使用情况等)
其中a~b是网站的日常运行区间,c是系统的最大负载点,d是网站的崩溃点
image.png性能优化一般可以按照网站封层架构分成以下三大部分:
一. Web前端性能优化:
- 浏览器访问优化:减少HTTP请求(合并CSS,JS图片等);使用浏览器缓存(缓存静态资源文件);启动压缩;CSS放在页面最上面、JS放在页面最下面(一般下载完CSS后才对整个页面渲染,所以最好让浏览器尽快下载CSS;浏览器加载JS立即执行,可能会阻塞页面,所以建议放在最下面);减少Cookie传输
-
CDN加速(最短路径返回相应,加快用户访问速度,减少数据中心负载压力)
image.png -
反向代理(保证安全以及加速web请求,同样也是通过缓存静态内容或者动态内容的形式来实现的;并且可以实现负载均衡构建应用集群提高系统总体处理能力)
image.png
二. 应用服务器性能优化(缓存、集群、异步)
- 分布式缓存:缓存预热(在缓存启动的时候就把热点数据加载好);缓存穿透(为了防止大量信息落到数据库上,可以将不存在的数据以null的形式缓存起来)
-
异步操作(使用消息队列,削平高峰期的并发事务)
image.png
image.png - 使用集群
- 代码优化:多线程;资源复用(单例,连接池,线程池);数据结构;垃圾回收
三. 存储服务器性能优化
- 机械硬盘和固态硬盘
- B+树和LSM树
- RAID和HDFS
image.png