• 架构


    1. 缘起

    容量评估是架构师必备的技能之一,场景的容量评估包括数据量、并发量、带宽、CPU/MEM/DISK等。

    文章以并发量为例。

    2. 步骤

    2.1 如何知道总访问量?

    答案:询问业务方,询问运营,询问产品,对运营活动或产品上线后的预期是什么?

    比如:xx要做一个App-Push的运营活动,计划在30分钟内完成5000w用户的push推送,预计push消息点击率10%,求push落地页系统的总访问量?

    5000w * 10% = 500w

    2.2 评估平均访问量QPS

    如何知道平均访问量QPS?

    有了总量,除以总时间即可,如果按照天评估,一天按照4w秒计算(一天共24h * 60min * 60s = 8w秒,一般假设所有请求都发生在白天,所以一般来说一天只按照4w秒评估)

    push落地页系统30min的总访问量是500w,求平均访问量QPS?

    500w / (30 * 60) = 2778,大概3000QPS。

    2.3 评估高峰QPS?

    系统容量规划时,不能只考虑平均QPS,而是要抗住高峰的QPS,如何知道高峰QPS?

    答案:根据业务特性,通过业务访问曲线评估

    举例:日均QPS为2000,业务访问趋势图如下图,求峰值QPS预估?

    从图中可以看出,峰值QPS大概是均值QPS的2.5倍,日均QPS为2k,于是评估出峰值QPS为5000。

    2.4 评估系统、单机极限QPS

    如何评估一个业务,一个服务单机的极限QPS?

    压力测试

    在一个服务上线前,一般来说是需要进行压力测试的,以App-Push运营活动落地页为例(日均QPS2000,峰值QPS5000)。

    假设单机极限的QPS是1200,一般来说,线上系统是不会跑满到极限的,打个8折,单机线上允许跑到QPS1000。

  • 相关阅读:
    hihoCoder#1037 : 数字三角形(DP)
    Android安全机制
    Java五道输出易错题解析(进来挑战下)
    【Mail】JavaMail介绍及发送邮件(一)
    【Mail】搭建邮件服务器(LAMP+Postfix+Dovcot+PostfixAdmin+Roundcubemail)
    【Mail】telnet收发邮件过程
    【Mail】邮件的基础知识和原理
    【Java】JavaWeb权限管理
    【Java】JDBC连接数据库
    【Mysql】权限管理
  • 原文地址:https://www.cnblogs.com/lujiango/p/9450071.html
Copyright © 2020-2023  润新知