美文网首页Java 程序员Java
架构师成长之路:如何做资源评估?

架构师成长之路:如何做资源评估?

作者: 程序花生 | 来源:发表于2021-10-08 21:47 被阅读0次

    一:什么是资源估算

    所谓资源估算是指:对软件系统上线运行时,为了完成预定的目标,而需要的服务器资源、存储资源、CPU、内存、网络带宽等资源进行预估。

    一般要预估正常使用情况、高峰使用情况、未来发展使用的情况等。

    通常需要估算1-3年的情况,要求高一些的会预估到5年的情况。

    二:资源估算的意义

    (一)资源估算对部署方案有重大意义

    资源估算本身就是部署架构设计过程中重要的一环,是必须要做的事情。

    你要做出部署方案,肯定要知道需要多少服务器,多少资源,每台服务器上部署哪些服务、哪些组件或模块,或者是哪些第三方应用(比如:Redis、Kafka等)。

    (二)资源估算对架构设计有重大影响

    部署方案需要对系统的高性能、高可用等提供支撑。

    那么反过来讲,部署方案就会对系统的架构设计产生重大影响。

    比如:按照现在的架构设计,要满足系统的性能要求,预估下来,可能需要10台服务器。

    然而,现在只有5台服务器,那么,根据这个资源情况,反过来估算,就要求系统的架构设计做出改变,性能至少要提升一倍以上,否则是无法达成目标的。

    也有可能去优化现有业务逻辑的处理算法,比如业务原来大概要1秒处理完,经过优化算法后,能够在500毫秒处理完,那么整体的性能相当于提升了一倍,也能满足要求。

    又比如说经过估算,某个表的数据可能很快会非常多,那从架构上,就需要对它进行分库分表,相应的业务实现也需要调整,以支持这样的变化等等的,这都体现了资源估算对架构设计的影响。

    三:如何进行资源估算

    步骤一:首先确定系统目标

    比如:正常情况下,每日使用系统的人数、并发数、访问页面的数量、产生数据量的多少,产生数据量的大小、每次访问带来的网络访问次数、每次访问产生的网络传输数据量等等。

    首先我们要去确定这些目标的数据,不同的系统可能需要不同的目标及其数据,这里只是举个例子而已。

    除了这些目标之外,还有很多性能指标,比如:系统要求能支撑在线人数、并发数,响应时间等。这些都是咱们要确定的系统目标。

    另外,我们还要确定,在系统使用高峰期时,上述数据的量。

    还有未来发展一定时期内,上述数据的量,通常是1-3年。

    对于互联网应用,发展比较快,通常都要按照3-5年来预估,否则系统上线没多久,就要不断调整部署架构了。

    当然部署架构考虑3-5年的量,并不是一下就按照这个量来部署,是先把架构做好,根据需要不断向上添置服务器等资源,然后修改配置就可以了。

    步骤二:然后根据系统目标来推算需要使用的资源

    这里讲两个推算资源的经验法则

    1:DID经验法则

    Design:设计 20倍的容量

    Implement:实施 3倍的容量

    Deploy:部署 1.5倍的容量

    注意这些都是一些经验数据,不同应用会有不同的调整,还是要具体应用具体分析。

    比如企业级的内部应用,一般就不需要按照20倍容量来设计,因为都是内部人员来使用,很难说几年内,员工数会有20倍的增长。

    2:70 经验法则

    一般对资源的使用量不超过总资源量的70%(也有放宽到75%的)。

    比如,有一台8核32G的服务器,这个配置不高吧,准备要在上面部署Tomcat,假设给每个Tomcat分配4G的内存,那是不是这台服务器就可以部署8个Tomcat呢?

    答案是否定的,首先操作系统本身还需要使用一些资源;另外,不可能把资源用到100%。通常情况下,资源利用率超过70%了,运维人员就会关注这台服务器了,超过80%,运维人员就会想办法调整,如果超过90%,那就比较危险了,这台服务器随时都有可能挂掉。

    因此,对于这样一台服务器,正常使用的时候,一般不建议超过70%的内存,大概也就是22G,大约可以部署4-5个Tomcat。

    一个是要预留操作系统需要使用的内存,另外一个就是Tomcat虽然分配的是4G,但在高峰运行时,它使用的内存可能会超过4G的,所以得预留一点内存。

    因此,这样一台服务器,如果每个Tomcat分配4G内存的话,通常也就是配置4个Tomcat,会比较合适,也比较安全,5个当然也可以,可能稍紧张一点,问题不大。再多,就比较有风险了。

    有关于资源规划,我们就聊到这儿。

    作者:CTO说
    链接:https://www.toutiao.com/a7010341634877489703/?log_from=08f93504d5bee_1633700698702

    相关文章

      网友评论

        本文标题:架构师成长之路:如何做资源评估?

        本文链接:https://www.haomeiwen.com/subject/cchfoltx.html