科普文:软件架构之Linux服务器性能【搞清楚QPS、延迟、带宽、服务器tcp连接数、服务器性能、服务器硬件资源之间的关系】

概叙

Java web应用性能分析之性能指标【TPS和QPS】_java tps qps-优快云博客

科普文:软件架构设计之【系​统​吞​吐​量​(​T​P​S​)​、​用​户​并​发​量​、​性​能​测​试、IO负载概叙】_系统吞吐量-优快云博客

Java web应用性能分析之【sysbench基准测试】-优快云博客

Java web应用性能分析之【Linux服务器性能监控分析概叙】_java 当前服务器性能监测-优快云博客
 

指标定义单位
QPS每秒查询数(Queries Per Second),衡量接口吞吐量次/秒
TPS每秒事务数(Transactions Per Second),完整业务处理能力事务/秒
延迟请求从发送到收到响应的时间毫秒(ms)
带宽网络传输能力Mbps/Gbps
TCP连接数服务器同时维持的TCP连接数量
服务器性能CPU/内存/磁盘I/O等综合处理能力相对值

1. QPS(每秒查询数)

QPS表示服务器每秒能够处理的查询请求数量。

它是衡量信息检索系统(如搜索引擎或数据库)在一秒钟内接收到的搜索流量的常见度量。

高QPS意味着系统能够快速响应大量的查询请求。

2. TPS(每秒事务数)

TPS表示服务器每秒能够处理的事务数量。

一个事务是指客户端向服务器发送请求并收到响应的完整过程。

TPS是衡量系统处理业务逻辑能力的重要指标,特别是在金融系统、电子商务平台等需要处理大量事务的场景中。

3. 延迟

延迟表示从发送请求到收到响应所经历的时间,通常以毫秒(ms)为单位。

它是衡量系统响应速度的关键指标。

低延迟意味着系统能够快速响应用户请求,提供更好的用户体验。

4. 带宽

带宽是指网络在单位时间内能够传输的数据量。

它是衡量网络传输能力的重要指标。

高带宽意味着网络能够更快地传输数据,减少数据传输的延迟。

5. 服务器TCP连接数

服务器TCP连接数表示服务器能够同时建立的TCP连接数量。

它是衡量服务器并发处理能力的关键指标。

高并发连接数意味着服务器能够同时处理更多的用户请求。

6. 服务器性能

服务器性能是指服务器处理任务的能力,包括CPU使用率、内存使用率、磁盘I/O等。

它是衡量服务器整体性能的重要指标。高性能服务器能够更快地处理任务,提供更好的系统响应速度。

7. 服务器硬件资源

服务器硬件资源包括CPU、内存、磁盘、网卡等。

它们是服务器性能的基础,直接影响服务器的处理能力。

高性能的硬件资源能够提升服务器的整体性能,从而支持更高的QPS、TPS和并发连接数。

8. 设计决策 

硬件资源分配矩阵

QPS级别CPU需求内存需求磁盘IOPS网络带宽
10万200 vCPU400GB50,00010Gbps
100万2,000 vCPU4TB500,0002×25Gbps
200万5,000 vCPU10TB1,200,0004×25Gbps
500万12,000 vCPU24TB3,000,00010×25Gbps

硬件资源需求矩阵

QPSTPS服务器配置示例关键参数
10万5,00016C32G ×20内网带宽≥5Gbps
100万50,00032C64G ×50 + 数据库集群NVMe SSD, 25Gbps网卡
200万100,00064C128G ×100 + 分布式DBRDMA网络, 持久内存

性能瓶颈识别与解决

1. 高QPS低延迟场景瓶颈

2. 典型优化措施
瓶颈点优化手段实施示例
CPU指令集优化使用AVX512加速加密计算
网络内核旁路技术DPDK/OVS加速Nginx
磁盘多级缓存策略MySQL启用Buffer Pool+SSD Cache
内存NUMA绑定numactl --cpunodebind=0 --localalloc
连接数长连接复用gRPC连接池+Keep-Alive 300s

性能瓶颈识别与优化

1. 各组件性能天花板
组件单机上限(调优后)瓶颈特征
Nginx80K QPSCPU软中断100%
MySQL15K TPS磁盘IO等待>50%
Redis120K QPS单线程CPU跑满
业务服务5K QPS/coreGC时间占比>30%
2. 优化措施对比
指标低延迟优化手段高QPS优化手段
网络TCP Fast OpenDPDK/SRIOV
CPU绑核隔离AVX指令集优化
存储Optane持久内存分库分表
连接长连接复用SO_REUSEPORT

 

阿里云ECS选型对照表

指标ecs.g7ne.4xlargeecs.g7ne.16xlargeecs.ebmg7.32xlarge
适用QPS5万-8万20万-30万50万+
网络吞吐5Gbps16Gbps32Gbps
PPS能力300万800万1500万
TCP连接数50万(调优后)200万(调优后)500万+(SR-IOV)
延迟表现1.2ms(内网)0.8ms(内网)0.5ms(RDMA)

设计决策流程图

 

通过上述关系模型,可根据业务需求反向推导出精确的硬件配置。

1. 资源估算

例如要实现100万QPS@3秒延迟:

  1. 先计算需要 ≥2,000 vCPU
  2. 带宽需求 ≥12Gbps
  3. TCP连接池 ≥500万
  4. 选择16台ecs.g7ne.16xlarge(128核×16=2048 vCPU)
  5. 配置4×10Gbps共享带宽包
2. 成本估算
资源类型数量单价(年)小计
ecs.g7ne.8xlarge140¥35,000¥490万
10Gbps带宽包4¥150,000¥60万
总计¥550万
3. 最终决策流程

通过上述模型,可推导出:

  1. 要实现100万QPS@3秒延迟
    • 需要 32C64G×50 计算节点
    • 12×16C64G Redis集群
    • 4×10Gbps 内网带宽
  2. 关键约束
    • 单机TCP连接数≤500万(需调优)
    • 数据库TPS≤50,000(需分库分表)

它们之间的关系

QPS(每秒查询数)、TPS(每秒事务数)、延迟、带宽、服务器TCP连接数、服务器性能、服务器硬件资源都是衡量系统性能的重要指标,它们之间有着密切的关系。

  1. QPS与TPS的关系‌:QPS更偏向于技术层面的吞吐量(处理了多少个请求),而TPS更偏向于业务层面的吞吐量(完成了多少个有效业务操作)。在大多数情况下,TPS的值会小于或等于QPS,因为一个事务可能包含多个查询。
  2. QPS/TPS与延迟的关系‌:QPS(或TPS)与延迟之间存在反比关系。当延迟增加时,系统能够在单位时间内处理的请求数量(即QPS或TPS)会减少。反之,当延迟减少时,QPS或TPS会增加。
  3. 带宽与QPS/TPS的关系‌:带宽是影响网络传输速度的关键因素。当带宽不足时,即使服务器的处理能力很强,也会因为网络传输的瓶颈而导致QPS/TPS下降。因此,足够的带宽是支持高QPS/TPS的基础。
  4. 服务器TCP连接数与并发数的关系‌:服务器TCP连接数限制了系统能够同时处理的并发请求数量。当并发请求数量超过服务器的TCP连接数限制时,会导致请求被阻塞或拒绝。因此,足够的TCP连接数是支持高并发数的关键。
  5. 服务器性能与硬件资源的关系‌:服务器性能直接依赖于其硬件资源。高性能的硬件资源(如多核CPU、大容量内存、高速磁盘等)能够提升服务器的处理能力,从而支持更高的QPS、TPS和并发连接数。
  6. 整体系统性能的关系‌:系统的整体性能是这些指标综合作用的结果。例如,一个高性能的服务器可能具有高的QPS和TPS,但如果网络带宽不足或数据库响应延迟高,那么系统的整体性能仍然会受到影响。

例如:假设有一个电子商务平台,需要在高并发情况下处理大量的用户订单。为了支持高并发和高TPS,平台需要采用高性能的服务器和足够的网络带宽。同时,为了优化数据库性能,可以采用读写分离、分库分表等技术手段来减少数据库响应延迟。通过这些措施,平台可以支持更高的QPS和TPS,提供更好的用户体验。

 

如图所示,它们之间相互影响,共同衡量系统性能,是衡量系统性能的重要指标。

1. QPS(每秒查询率)与各因素的关系

  • 与TPS:QPS关注的是查询请求,TPS(每秒事务数)关注的是事务处理。一个事务可能包含多个查询,因此TPS通常小于或等于QPS。
  • 与延迟:QPS和延迟相互影响。高延迟会导致服务器处理每个请求的时间变长,从而降低QPS;反之,低延迟有助于提高QPS。
  • 与带宽:QPS越高,单位时间内需要传输的数据量越大,对带宽的需求也越高。
  • 与服务器TCP连接数:每个请求通常占用一个TCP连接,QPS越高,需要的TCP连接数越多。
  • 与服务器性能:服务器性能越强,单位时间内能处理的请求数QPS越高。
  • 与服务器硬件资源:充足的硬件资源(如CPU、内存、磁盘I/O)是支撑高QPS的基础。

2. TPS(每秒事务数)与各因素的关系

  • 与QPS:TPS通常小于或等于QPS,因为一个事务可能包含多个查询。
  • 与延迟:高延迟会增加事务处理时间,降低TPS;低延迟有助于提高TPS。
  • 与带宽:TPS越高,事务处理所需的数据传输量越大,对带宽的需求越高。
  • 与服务器TCP连接数:每个事务可能占用多个TCP连接,TPS越高,需要的TCP连接数越多。
  • 与服务器性能:服务器性能越强,单位时间内能处理的事务数TPS越高。
  • 与服务器硬件资源:充足的硬件资源是支撑高TPS的基础。

3. 延迟与各因素的关系

  • 与QPS:高延迟会降低QPS,低延迟有助于提高QPS。
  • 与TPS:高延迟会降低TPS,低延迟有助于提高TPS。
  • 与带宽:带宽不足会导致数据传输延迟增加,影响整体延迟。
  • 与服务器TCP连接数:过多的TCP连接会增加连接管理开销,增加延迟。
  • 与服务器性能:服务器性能差会导致请求处理时间长,增加延迟。
  • 与服务器硬件资源:硬件资源不足会导致处理速度慢,增加延迟。

延迟的影响因素

因素典型影响范围优化手段
网络延迟10-300msCDN/边缘计算
数据库查询20-500ms索引优化/缓存
业务逻辑5-200ms代码优化/异步处理
服务器负载1-100ms水平扩展/负载均衡

4. 带宽与各因素的关系

  • 与QPS:QPS越高,需要的带宽越大。
  • 与TPS:TPS越高,需要的带宽越大。
  • 与延迟:带宽不足会增加延迟,足够的带宽可以降低延迟。
  • 与服务器TCP连接数:每个TCP连接占用一定带宽,连接数过多会导致带宽竞争,增加延迟。
  • 与服务器性能:服务器性能好可以更高效地利用带宽,但带宽不足会限制性能。
  • 与服务器硬件资源:网络接口等硬件资源直接影响带宽。

5. 服务器TCP连接数与各因素的关系

  • 与QPS:TCP连接数越多,支持的QPS越高,但受限于服务器性能和硬件资源。
  • 与TPS:TCP连接数越多,支持的TPS越高,但受限于服务器性能和硬件资源。
  • 与延迟:过多的TCP连接会增加连接管理开销,增加延迟。
  • 与带宽:每个TCP连接占用一定带宽,连接数过多会导致带宽竞争,增加延迟。
  • 与服务器性能:服务器性能决定了能同时处理的TCP连接数。
  • 与服务器硬件资源:硬件资源(如内存)用于维护TCP连接状态,资源不足会影响连接数。

6. 服务器性能与各因素的关系

  • 与QPS:服务器性能越强,支持的QPS越高。
  • 与TPS:服务器性能越强,支持的TPS越高。
  • 与延迟:服务器性能越强,处理请求的时间越短,延迟越低。
  • 与带宽:服务器性能好可以更高效地利用带宽。
  • 与服务器TCP连接数:服务器性能强可以同时处理更多的TCP连接。
  • 与服务器硬件资源:服务器性能依赖于硬件资源。

7. 服务器硬件资源与各因素的关系

  • 与QPS:充足的硬件资源是支撑高QPS的基础。
  • 与TPS:充足的硬件资源是支撑高TPS的基础。
  • 与延迟:高性能的硬件资源可以减少请求处理时间,降低延迟。
  • 与带宽:网络接口等硬件资源直接影响带宽。
  • 与服务器TCP连接数:足够的内存用于维护TCP连接状态,支持更多的连接数。
  • 与服务器性能:硬件资源是服务器性能的基础。

量化关系公式

1. QPS与硬件资源的关系

所需vCPU数量 = ceil(QPS × 平均处理时间(秒) / 目标CPU利用率)

示例:10万QPS,50ms处理时间,70%利用率

→ 100,000 × 0.05 / 0.7 ≈ 7,143 vCPU秒

→ 20台16核服务器

2. 带宽计算公式

带宽(Mbps) = QPS × (请求大小 + 响应大小) × 8 / 1,000,000

示例:10万QPS,2KB请求+8KB响应

→ 100,000 × 10KB × 8 / 1,000,000 = 8Gbps

3. TCP连接数估算

最大并发连接数 = QPS × 平均连接保持时间(秒)

示例:10万QPS,Keep-Alive 15秒

→ 100,000 × 15 = 1.5M 连接(需调优内核参数)

4. 延迟分解公式

总延迟 = 网络传输 + 队列等待 + 处理时间 + 序列化

示例:3秒延迟分配

→ 500ms(网络) + 300ms(队列) + 1.5s(业务) + 700ms(DB)

资源监控与调优

1. 监控指标看板

指标正常范围报警阈值
CPU使用率<70%>85%持续5分钟
内存使用率<80%>90%
磁盘I/O等待<10%>30%
TCP连接数<max_connections*0.7>max_connections*0.9

2. 调优策略矩阵

问题现象可能原因解决方案
QPS低延迟高数据库慢查询添加索引/优化SQL
QPS波动大缓存失效优化缓存策略/增加缓存层
带宽突增DDoS攻击启用WAF/弹性带宽
TCP连接数达到上限长连接未释放连接池优化/超时设置

3.最佳实践‌:

  1. 建立性能基线(基准测试)
  2. 实施监控告警体系
  3. 定期压力测试(至少每季度)
  4. 容量规划预留20%余量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

01Byte空间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值