美文网首页技术架构
架构总结04--复杂度来源:高性能

架构总结04--复杂度来源:高性能

作者: 架构飞毛腿 | 来源:发表于2018-10-08 18:00 被阅读29次

软件系统中高性能带来的复杂度主要体现在两方面,一方面是单台计算机内部为了高性能带来的复杂度;另一方面是多台计算机集群为了高性能带来的复杂度。

1 WHAT 对高性能的理解?

性能是软件的一个重要质量属性。衡量软件性能包括了响应时间、TPS、服务器资源利用率等客观指标,也可以是用户的主观感受(从程序员、业务用户、终端用户/客户不同的视角,可能会得出不同的结论)。

在说性能的时候,有一个概念与之紧密相关—伸缩性,这是两个有区别的概念。性能更多的是衡量软件系统处理一个请求或执行一个任务需要耗费的时间长短;而伸缩性则更加关注软件系统在不影响用户体验的前提下,能够随着请求数量或执行任务数量的增加(减少)而相应地拥有相适应的处理能力。

但是,什么是“高”性能?这可能是一个动态概念,与当前的技术发展状况与业务所处的阶段紧密相关。比如,现在在行业/企业内部认为的高性能,站在5年后来看,未必是高性能。因此,站在架构师、设计师的角度,高性能需要和业务所处的阶段来衡量。高到什么程度才能与当前或可预见的未来业务增长相匹配。一味去追求绝对意义上的高,没有太大的实际意义。因为,伴随性能越来越高,相应的方法和系统复杂度也是越来越高,而这可能会与当前团队的人力、技术、资源等不相匹配。但是什么才合适的高性能了?这可能需要从国、内外的同行业规模相当、比自己强的竞争者、终端用户使用反馈中获取答案并不断迭代发展。

软件系统中高性能带来的复杂度主要体现在两方面,一方面是单台计算机内部为了高性能带来的复杂度;另一方面是多台计算机集群为了高性能带来的复杂度。

2 WHY 为什么需要高性能?

追求良好的用户体验;

满足业务增长的需要。

3 HOW 如何做好高性能?

可以从垂直与水平两个维度来考虑。垂直维度主要是针对单台计算机,通过升级软、硬件能力实现性能提升;水平维度则主要针对集群系统,利用合理的任务分配与任务分解实现性能的提升。

垂直维度可包括以下措施:

增大内存减少I/O操作

更换为固态硬盘(SSD)提升I/O访问速度

使用RAID增加I/O吞吐能力

置换服务器获得更多的处理器或分配更多的虚拟核

升级网络接口或增加网络接口

水平维度可包括以下措施:

功能分解:基于功能将系统分解为更小的子系统

多实例副本:同一组件重复部署到多台不同的服务器

数据分割:在每台机器上都只部署一部分数据

垂直维度方案比较适合业务阶段早期和成本可接受的阶段,该方案是提升性能最简单直接的方式,但是受成本与硬件能力天花板的限制。

水平维度方案所带来的好处要在业务发展的后期才能体现出来。起初,该方案会花费更多的硬件成本,另外一方面对技术团队也提出了更高的要求;但是,没有垂直方案的天花板问题。一旦达到一定的业务阶段,水平维度是技术发展的必由之路。因此,作为技术部门,需要提前布局 ,未雨绸缪,不要被业务抛的太远。

相关文章

  • 架构总结04--复杂度来源:高性能

    软件系统中高性能带来的复杂度主要体现在两方面,一方面是单台计算机内部为了高性能带来的复杂度;另一方面是多台计算机集...

  • 从零开始学架构

    第一章 架构基础 1.架构设计的复杂度来源 1.1 高性能 1.1.1单机复杂度 1.1.2集群复杂度 集群复杂度...

  • 学习笔记:系统架构复杂度的来源

    架构设计的主要目的是为了解决软件系统复杂度带来的问题 1 复杂度来源:高性能性能是软件的一个重要质量属性。衡量软件...

  • 复杂度来源:高性能

    笔记 软件系统中高性能带来的复杂度主要体现在两方面,一方面是单台计算机内部为了高性能带来的复杂度;另一方面是多台计...

  • 架构的复杂度

    架构复杂度来自:高可用,高性能,可扩展性,安全,低成本等要求

  • 从0开始学架构 - 复杂度来源:高性能

    对性能孜孜不倦的追求是整个人类技术不断发展的根本驱动力。 软件系统中高性能带来的复杂度主要体现在两方面: 一方面是...

  • 04 | 复杂度来源:高性能

    周四,我为你讲了架构设计的主要目的是为了解决软件系统复杂度带来的问题。那么从今天开始,我将为你深入分析复杂度的 6...

  • 004 复杂度来源:高性能

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

  • 07 | 复杂度来源:低成本、安全、规模

    关于复杂度来源,前面的专栏已经讲了高性能、高可用和可扩展性,今天我来聊聊复杂度另外三个来源低成本、安全和规模。 低...

  • 架构复杂度的来源

    1. 高性能 高性能增加机器目的在于“扩展”处理性能,例如:平行扩展(加机器)。 2. 高可用 高可用增加机器目的...

网友评论

    本文标题:架构总结04--复杂度来源:高性能

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