《大型网站技术架构设计》第二篇 架构-性能

不同视角下的网站性能

1、用户

从用户角度,网站性能就是用户在浏览器上直观感受到的网站响应速度快还是慢 。用户感受到的时间

2、开发人员

开发人员关注的主要是应用程序本身及其相关子系统的性能,包括响应延迟、系统吞吐量、并发处理能力、系统稳定性等技术指标。

3、运维人员

运维人员更关注基础设施性能和资源利用率,如:

  1. 网络运营商(移动、联通、电信)的带宽能力;
  2. 服务器硬件的配置;
  3. 数据中心网络架构;
  4. 服务器和网络带宽的资源利用率等。

主要优化手段有建设优化骨干网、使用高性价比定制服务器、利用虚拟化技术优化资源利用等。

性能衡量标准

1.响应时间

指应用执行一个操作需要的时间,包括从发出请求开始到收到最后响应数据所需要的时间。响应时间是系统最重要的性能指标 ,直观地反映了系统的"快慢"

2.并发数量

指系统能够同时处理 请求的数目,这个数字也反映了系统的负载特性。对于网站而言,并发数即网站并发用户数,指同时提交请求的用户数目。

在网站产品设计初期,产品经理和运营人员就需要规划不同发展阶段的网站系统用户数,并以此为基础,根据产品特性和运营手段,推算在线用户数和并发用户数。这些指标将成为系统非功能设计的重要依据。

3.吞吐量

(1)什么是吞吐量

单位时间 内系统处理的请求数量 ,体现系统的整体处理能力。对于网站,可以用"请求数/秒"或是"页面数/秒"来衡量,也可以用"访问人数/天"或是 "处理的业务数小时"等来衡量。TPS (每秒事务数)是吞吐量的一个常用量化指标,此外还有 HPS (每秒 HTTP 请求数)、 QPS (每秒查询数)等

(2)系统吞吐量、系统并发数、系统响应时间的关系

系统吞吐量和系统并发数,以及响应时间的关系可以形象地理解为高速公路的通行状况:

  1. 吞吐量是每天通过收费站的车辆数目(可以换算成收费站收取的高速费),
  2. 并发数是高速公路上的正在行驶的车辆数目,
  3. 响应时间是车速。

过程如下:

  1. 车辆很少时,车速很快,但是收到的高速费也相应较少;(并发请求少时,响应时间短,吞吐量低)
  2. 随着高速公路上车辆数目的增多,车速略受影响,但是收到的高速费增加很快;(并发稍多,吞吐量增加)
  3. 随着车辆的继续增加,车速变得越来越慢,高速公路越来越堵,收费不增反降;(并发较多,RT变长,吞吐量下降)
  4. 如果车流量继续增加,超过某个极限后,任何偶然因素都会导致高速全部瘫痪,车走不动,费当然也收不着,而高速公路成了停车场(资源耗尽)。

(3)网站性能优化的目的

网站性能优化的目的,除了改善用户体验的响应时间 ,还要尽量提高系统吞吐量最大限度利用服务器资源

4.性能计数器

(1)什么是性能计数器

它是描述服务器操作系统 性能的一些数据指标。包括 System Load、对象与线程数、内存使用、CPU 使用、磁盘与网络 VO 等指标 。这些指标也是系统监控的重要参数,对这些指标设置报警阈值,当监控系统发现性能计数器超过國值时,就向运维和开发人员报警,及时发现处理系统异常。

(2)什么是系统负载

System Load 即系统负载,指当前正在被 CPU 执行和等待被 CPU 执行的进程数目总和,是反映系统忙闲程度的重要指标。

  1. 多核 CPU 的情况下,完美情况是所有 CPU 都在使用,没有进程在等待处理,所以 Load 的理想值是 CPU 的数目。
  2. 当 Load 值低于 CPU 数目的时候,表示 CPU 有空闲,资源存在浪费;
  3. 当 Load 值高于 CPU 数目的时候,表示进程在排队等待 CPU 调度,表示系统资源不足,影响应用程序的执行性能。

在 Linux 系统中使用 top 命令查看,该值是三个浮点数,表示最近1分铀15分钟的运行队列平均进程数。如图4.2 所示。

性能优化手段

从用户请求的经过路线方向,考虑性能如何优化。

相关推荐
架构师沉默2 小时前
设计多租户 SaaS 系统,如何做到数据隔离 & 资源配额?
java·后端·架构
kfyty7255 小时前
不依赖第三方,不销毁重建,loveqq 框架如何原生实现动态线程池?
java·架构
刘立军7 小时前
本地大模型编程实战(33)用SSE实现大模型的流式输出
架构·langchain·全栈
一直_在路上7 小时前
Go 语言微服务演进路径:从小型项目到企业级架构
架构·go
智能化咨询11 小时前
Kafka架构:构建高吞吐量分布式消息系统的艺术——进阶优化与行业实践
分布式·架构·kafka
七夜zippoe11 小时前
缓存与数据库一致性实战手册:从故障修复到架构演进
数据库·缓存·架构
青鱼入云13 小时前
【面试场景题】支付&金融系统与普通业务系统的一些技术和架构上的区别
面试·金融·架构
gtGsl_13 小时前
深入解析 Apache RocketMQ架构组成与核心组件作用
架构·rocketmq·java-rocketmq
SmartBrain16 小时前
DeerFlow 实践:华为IPD流程的评审智能体设计
人工智能·语言模型·架构
一水鉴天21 小时前
整体设计 之 绪 思维导图引擎 之 引 认知系统 之 序 认知元架构 从 三种机器 和 PropertyType 到认知 金字塔 之2(豆包助手)
架构·认知科学