04系统设计目标(四)如何提升系统性能?
高并发下的性能优化
假如说,你现在有一个系统,这个系统中处理核心只有一个,执行任务的响应时间都是10ms,他的吞吐量是每秒100次。那么我们如何来优化系统的性能从而提高系统的并发能力呢?
主要有两种思路,一种是提高系统的处理核心数,另一种是减少单次任务的响应时间。
1、 提高系统的处理核心数
提高系统的处理核心数就是增加系统的并行处理能力,这个思路是优化性能最简单的途径。可以把系统的处理核数增加为2个,增加一个进程,让两个进程分别跑在不同核上,这样从理论上来说,你的吞吐量就增加了一倍。当然了,这种情况下,吞吐量跟响应时间就不是倒数关系了,还要乘以并发的核数。
我们似乎找到了处理问题的银弹,是不是无限制的增加核数就可以无限制的增加系统性能,从而提升系统的并发处理能力呢?随着并发进程数的增加,并行任务对于系统资源的争抢也会愈发严重。在某一个临界点上继续增加并发进程数,反而会造成系统性能下降,这就是性能测试中的拐点模型。
从图中可以看出,并发用户数处于轻压力区时,响应时间平稳,吞吐量和并发用户数线性相关。当用户并发数处于重压力区时,系统资源利用率达到极限,吞吐量开始有所下降,响应时间也略有上升。这个时候再增加并发用户数,系统进入拐点区,处于超负荷状态,吞吐量下降,响应时间大幅度上升。
所以我们在评估系统压力时需要做压力测试,目的就是找到系统的拐点,从而知道系统的承载能力,也便于找到系统的瓶颈,持续进行系统优化。
说完了提升系统的并行能力,下面让我们来看一下减少系统的响应时间。
2、 减少单次任务响应时间
想要减少任务的响应时间,要看你的系统是CPU密集型还是IO密集型,因为不同类型的系统优化方案不尽相同。
CPU密集系统中,需要处理大量的CPU运算,那么选用更高效的算法或者减少运算次数就是这类系统优化的主要思路。例如,系统的主要任务是计算Hash值,那么选用更高性能的Hash算法就可以大大提升系统的性能。发现这类问题的主要方式,是通过一些Profile 工具来找到消耗 CPU 时间最多的方法或者模块,比如 Linux 的 perf、eBPF 等。
IO 密集型系统指的是系统的大部分操作是在等待 IO 完成,这里 IO 指的是磁盘 IO 和网络 IO。我们熟知的系统大部分都属于 IO 密集型,比如数据库系统、缓存系统、Web 系统。这类系统的性能瓶颈可能出在系统内部,也可能是依赖的其他系统,而发现这类性能瓶颈的手段主要有两类。
第一类是采用工具,Linux 的工具集很丰富,完全可以满足你的优化需要,比如网络协议栈、网卡、磁盘、文件系统、内存,等等。这些工具的用法很多,你可以在排查问题的过程中逐渐积累。除此之外呢,一些开发语言还有针对语言特性的分析工具,比如说 Java 语言就有其专属的内存分析工具。
另外一类手段就是可以通过监控来发现性能问题。在监控中我们可以对任务的每一个步骤做分时的统计,从而找到任务的哪一步消耗了更多的时间。这一部分在演进篇中会有专门的介绍,这里就不再展开了。
那么找到了系统的瓶颈点,我们要如何优化呢?优化方案会随着问题的不同而不同。比方说,如果是数据库访问慢,那么就要看是不是有锁表的情况、是不是有全表扫描、索引加得是否合适、是否有 JOIN 操作、需不需要加缓存,等等;如果是网络的问题,就要看网络的参数是否有优化的空间,抓包来看是否有大量的超时重传,网卡是否有大量丢包等。
总而言之,"兵来将挡水来土掩",我们需要制定不同的性能优化方案来应对不同的性能问题。
这一系列提高并发系统性能的文章总算结束了。虽然分了四篇,但是希望你一气呵成的看完。
最好不要断片取义的看,本就一起的整文。老规矩,有问题评论区留言。
面经分享阿里大佬的5年Android开发求职之路作者yechaoa前言前段时间在看机会,本文就是我对求职过程的一个总结。同时,也作为一个面试官,来说说求职中需要注意的点。各大厂的面试会考核哪些知识点5年开发应该具备哪些技术要点当
Android程序员,要专精还是要广度?于一名优秀的技术人员来说,究竟是专精一块技术方向,做到深耕其中所向披靡还是谋求什么都能略懂一点的广度,成为一个全方位的人才?这其实是一个职业发展和学习规划路线的问题,许多同学都有这
预售突破7万飞利浦录音笔VTR5101京东全球首发飞利浦录音笔VTR5101京东首发活动截止至7月17号,预售突破7万人,抢购第一天数量突破1万人!7月6日至7月15日期间,京华飞利浦联合京东平台进行飞利浦录音笔VTR5101的首
飞利浦VTR5102Pro细节升级,再续智能灵巧经典王炸能量升级的妙处是让体验更贴心用新造型审视现代工业设计美学将新视觉拉大到出彩与舒适为新听觉打开便利和高效改变出于专业升级只会更好的表达飞利浦VTR5102Pro智能经典灵巧三联强击搏击现
飞利浦录音笔VTR5101一款属于你的学习神器如果问奋斗在课堂上的学子们世界上最美的声音是什么?我想答案一定是辛勤老师们言传身教的声音。的确,所有老师的声音是那么的朴素而又真实,老师的每一句话,我们都不愿轻易忘记,因为我们深知
重塑经典创新为你飞利浦行车记录仪展会完美收官图片来源AE视界2019年7月12日,飞利浦携多款创新新品亮相AAITF第十九届深圳国际汽车改装服务业展览会(简称深圳九州展),在深圳会展中心展示了各类优质车载电子产品,为广大前来
新动态简报近期新产品新服务,即刻了解近期动态简报春末迎夏,五一小长假明日启动,在此之前带大家进入新一期简讯内容,一文快速了解京华飞利浦近期最新产品服务动态,掌握现代智能音视频优势产品,获取第一手优化服务体验。近期,京
实拍测评之CVR1700,360高清全景视角优势驾驶存在盲区,没准哪个时候就被它蒙骗倒车跟后边的人玩个对对碰转弯跟拐角警示桩来个肩肩碰但是,这些盲区给司机驾驶带来的安全隐患当然不是这种小小程度能体现的,再经验老道的司机也无法对驾
如何在学习中赢得毫不费力?随着气候的加温生活步调开始回归正轨职场上,校园里,居家中人人都在全身心地投入其中迎着暮春绽放精彩在暖春下的每一个角落,都有着学习的身影课堂上,图书馆,办公位,书桌前努力的目标总有很
与你同行,录尽音生你的诞生与音相随呱呱坠地的哭声喻示着你的健康你的成长与音相伴牙牙学语的发声表现着你的前进你的学习与音相行朗朗书声的诵读展现着你的渴望我想与你同行同行于漫长有趣的学习之途中带着你的渴
京华力作央企匠品京华执法仪BVR30霸气登场京华创立发展至今,40年的时间,以实干精神及创新态度赢取接连不断的行业认可及佳绩证明,不但对内实现了成熟高效的团队构架和建设,而且对外以高质量产品输出及服务表现向行业诠释了专业的标