云计算百科
云计算领域专业知识百科平台

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

概叙

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

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

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

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

指标定义单位
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 vCPU 400GB 50,000 10Gbps
100万 2,000 vCPU 4TB 500,000 2×25Gbps
200万 5,000 vCPU 10TB 1,200,000 4×25Gbps
500万 12,000 vCPU 24TB 3,000,000 10×25Gbps

硬件资源需求矩阵

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

性能瓶颈识别与解决

1. 高QPS低延迟场景瓶颈

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

性能瓶颈识别与优化

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

 

阿里云ECS选型对照表

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

设计决策流程图

 

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

1. 资源估算

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

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

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

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

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

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

  • 建立性能基线(基准测试)
  • 实施监控告警体系
  • 定期压力测试(至少每季度)
  • 容量规划预留20%余量
  • 赞(0)
    未经允许不得转载:网硕互联帮助中心 » 科普文:软件架构之Linux服务器性能【搞清楚QPS、延迟、带宽、服务器tcp连接数、服务器性能、服务器硬件资源之间的关系】
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!