• 【技能】系统吞吐量


    一、受影响因素

    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理论上会影响秒开的。 

  • 相关阅读:
    Pyspider实例之抓取数据并保存到MySQL的数据库
    pyspider中内容选择器常用方法汇总
    pyspider用PyQuery解析页面数据
    CasperJs 入门介绍
    移动应用抓包调试利器Charles
    GO语言文件的创建与打开实例分析
    Golang之实现一个负载均衡算法(随机,轮询)
    重新认识一个强大的 Gson
    关于Java的File.separator
    centos重启redis后,数据丢失
  • 原文地址:https://www.cnblogs.com/darlingmz/p/14415304.html
Copyright © 2020-2023  润新知