【技能】系统吞吐量

一、受影响因素

  1. request对CPU的消耗

  2. 外部接口、IO等

  3. 结论:单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。

二、重要参数

  1. QPS(TPS)

    1. 定义:每秒钟request/事务 数量,,,,tps每秒处理事务数量,qps每秒处理请求数量
    2. TPS:服务器每秒处理的事务数
    3. QPS:每秒的响应请求数,也即是最大吞吐能力
  2. 并发数

    1. 定义:系统同时处理的request/事务数
  3. 响应时间

    1. 定义:一般取平均响应时间

  4. 关系:QPS(TPS)= 并发数/平均响应时间 或者 并发数 = QPS*平均响应时间 

三、系统吞吐量评估

  1. 从评估出来的出来QPS、并发数之外,还有另外一个维度:日PV。

  2. 技术方法

    1. 找出系统的最高TPS和日PV,这两个要素有相对比较稳定的关系(除了放假、季节性因素影响之外)

    2. 通过压力测试或者经验预估,得出最高TPS,然后跟进1的关系,计算出系统最高的日吞吐量

四、实例

  1. 学习地址:https://www.jianshu.com/p/2fff42a9dfcf

  2. 发言:

    1. 从服务端整体资源数量看,总共服务器数195个,最大320个

      1. ecs-l-frontend-web-elb 前端服务器 最小值45 最大值100

      2. ecs-l-frontend-web-elb-activity 活动服务器 最小10 最大20

      3. ecs-l-frontend-web-elb-pay 金融服务器 最小10 最大20

      4. ecs-l-frontend-web-elb-list 列表服务器 最小10 最大30

      5. ecs-l-frontend-web-elb-gift 送礼服务器 最小15 最大40

      6. ecs-l-frontend-web-elb-login 登录注册服务器 最小5 最大10

      7. ecs-l-frontend-web-elb-slive 开播心跳服务器 最小15 最大40

    2. 从CPU使用率,目前保持再30%

    3. 从首页QPS看,目前7200, 压测最大QPS能支撑1w6

    4. 综上结论,流量翻一倍,都能支撑,不需要提前扩容,活动当天会安排开发人员24小时值守,前端机器已配置好自动扩容机制。

  3. 发言:那你得两个维度压,连接数和qps,不过tps理论上会影响秒开的。 

原文地址:https://www.cnblogs.com/darlingmz/p/14415304.html