《大型网站技术架构》——第四章 瞬时响应:网站的高性能架构

网站性能是客观的指标,可以具体体现到响应时间、吞吐量等技术指标,同时也是主观的感受。

用户视角的网站性能

在实践中,使用一些前端架构优化手段,通过优化页面HTML式样、利用浏览器端的并发和异步特性、调整浏览器缓存策略、使用CDN服务、反向代理等手段,使浏览器尽快地显示用户感兴趣的内容、尽可能近地获取页面内容。

开发视角的网站性能

响应延迟、系统吞吐量、并发处理能力、系统稳定性等技术指标

  • 使用缓存加速数据读取
  • 使用集群提高吞吐能力
  • 使用异步消息加快请求响应及实现削峰
  • 使用代码优化手段改善程序性能

运维视角的网站性能

基础设施性能和资源利用率

网站性能测试的主要指标

响应时间

测试方法:重复请求取平均

并发数

系统能够同时处理请求的数目,反映了系统的负载
网站系统用户数>>网站在线用户>>网站并发用户数
在网站产品设计初期,产品经理和运营人员就需要规划不同发展阶段的网站系统用户数,并以此为基础,根据产品特性和运营手段,推算在线用户数和并发用户数。
测试方法:多线程模拟并发用户。思考时间。

吞吐量

单位时间内系统处理的请求数量,体现系统的整体处理能力。TPS/QPS
网站性能优化的目的,除了改善用户体验的响应时间,还要尽量提高系统吞吐量,最大限度利用服务器资源。

性能计数器

描述服务器或操作系统性能的一些数据指标。
System Load:当前正在被CPU执行和等待被CPU执行的进程数目总和,是反映系统忙闲程度的重要指标。top命令查看

性能测试方法

性能测试
负载测试:临界值
压力测试:系统最大压力承受能力
稳定性测试:
性能测试曲线

性能优化策略

对请求经历的各个环节进行分析,排查可能出现性能瓶颈的地方,定位问题。
代码问题/架构设计不合理/系统资源不足

Web 前端性能优化

一般说来Web 前端指网站业务逻辑之前的部分,包括浏览器加载、网站视图模型、图片服务、CDN服务等,主要优化手段有:

优化浏览器访问

  1. 减少http 请求
    HTTP协议是无状态的应用层协议,意味着每次请求都需要建立通信链路、进行数据传输,服务端每个请求都需要启动独立的线程进行处理。这些通信和服务的开销都很昂贵。
    合并CSS、合并Js、合并图片
  2. 使用浏览器缓存
    静态资源文件设置浏览器缓存。
  3. 启用压缩
    在服务端压缩文件,在浏览器端解压缩,可有效减少通信传输对数据量。
    压缩对服务器和浏览器产生一定压力,权衡考虑。
  4. CSS放在页面最上面、JavaScript放在页面最下面
  5. 减少Cookie传输
    Cookie包含在每次请求和响应中,太大的Cookie会严重影响数据传输。
    静态资源发送Cookie没有意义,可以考虑使用独立域名访问,减少Cookie传输的次数。

CDN加速

将数据缓存在离用户最近的地方
网络访问第一跳
CDN部署在网络运营商的机房
一般是静态资源

反向代理

传统代理服务器位于浏览器一侧,代理浏览器将HTTP请求发送到互联网上
反向代理服务器位于网站机房一侧,代理网站Web服务器接收HTTP请求
安全功能
配置缓存加速Web请求
负载均衡

应用服务器性能优化

猜你喜欢

转载自blog.csdn.net/wsjtwmy/article/details/84845830