美文网首页
004 复杂度来源:高性能

004 复杂度来源:高性能

作者: 猿笔记 | 来源:发表于2019-01-21 03:02 被阅读22次

    复杂度的体现

      • 单台计算机内部为了高性能带来的复杂度
      • 多台计算机集群为了高性能带来的复杂度

    单机复杂度

    • 计算机内部复杂度最关键的地方:操作系统
    • 操作系统和性能最相关的是:进程线程
    • 分时调度,本质上仍然是串行任务
    • 多cpu才能做到真正的同时执行计算任务
    • 常见解决方案:SMP(对称多处理器结构)、NUMA(非一致存储访问结构)、MPP(海量并行处理结构)

    集群复杂度

    • 任务分配【横向扩展】
      • 任务分配:指的是每台机器都可以处理完整的业务任务,不同的任务分配到不同的机器上执行

        需考虑的因素:
        (1)任务分配器的选择:硬件网络设备(如:F5、交换机等)、软件网络设备(如:LVS),或负载均衡软件(如:Nginx)、自己开发的系统
        ---需考虑:性能、成本、可维护性、可用性等
        (2)选择合适的连接方式,并对连接进行管理
        (3)分配算法,如:轮询算法、权重分配算法、按负载分配等
        =》若业务进一步发展,任务分配器本身会成为性能瓶颈

        需考虑的因素:
        (1)将不同的用户分配到不同的任务分配器;如:DNS轮询、智能DNS、CDN、GSLB设备等
        (2)任务分配器和业务服务器的连接变成了网状结构
        (3)状态管理、故障处理复杂度大大增加
    • 任务分解【隔离局部瓶颈 把握拆分粒度】

      能提升性能的原因:
      (1)简单的系统更容易做到高性能
      (2)可以针对单个任务进行扩展
      =》并不是系统拆分的越细越好,因为系统间的调用次数会呈指数级别上升

    相关文章

      网友评论

          本文标题:004 复杂度来源:高性能

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