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操作、需不需要加缓存,等等;如果是网络的问题,就要看网络的参数是否有优化的空间,抓包来看是否有大量的超时重传,网卡是否有大量丢包等。
总而言之,兵来将挡水来土掩,我们需要制定不同的性能优化方案来应对不同的性能问题。
这一系列提高并发系统性能的文章总算结束了。虽然分了四篇,但是希望你一气呵成的看完。
最好不要断片取义的看,本就一起的整文。老规矩,有问题评论区留言。
苹果秋季发布会正式确定,北京时间9月15日,不见不散9月8日凌晨,苹果正式宣布将于9月14日星期二上午10点(北京时间15日凌晨一点)举行秋季发布会,活动将在加利福尼亚州库比蒂诺苹果公园校园的史蒂夫乔布斯剧院举行。新品预测……
篮球冠军正在热映失败绝杀造就完美结局星关系3月25日讯3月22日,《篮球冠军》正式登陆国内各大院线,这部荣誉满载的西班牙暖心喜剧,没有让中国观众失望!电影中智力障碍演员的精彩表演获得观众花式点赞,看似遗憾却完美的……
双耳佩戴助听器有哪些好处?如果两个耳朵都有听力损失那最好是戴双耳,双耳佩戴的好处很多:1、提高声源定位能力。2、提高降噪和言语理解能力3、增强双耳响度整合效应4、避免迟发性听觉剥夺效应5、延缓听神经功能……
篮球冠军西班牙使馆首映受各外交官称赞笑泪与共治愈人心日前,由西班牙戈雅奖影帝哈维尔古铁雷斯和一群智力障碍人士倾情演绎的《篮球冠军》在西班牙大使馆塞万提斯学院举行首映仪式,到场嘉宾除了各国大使馆外交官、媒体人士和西语学生,还邀请到……
5G时代,4G手机为何还能持久使用前段时间国内手机华为还是推出了4G版本的华为P50系列,虽然说5G芯片被限制但是从华为推出4G手机来看,虽然进入5G时代,但是4G手机还是没能影响使用,甚至有用户为了节约电量主……
Windows10电脑越用越慢,如何让系统像新安装的一样?大家好我是大明,电脑windows10系统越用越慢是因为长时间没有定期的做维护所导致的,电脑操作系统每天运行时会产生大量的垃圾文件及后台缓存,如果长时间的不清理的话就会越积越多……
摔跤冠军王彦龙参演金刀出鞘成长经历很励志由张明源编剧并执导的电影《金刀出鞘》,2021年3月荣获第17届伦敦世界电影节最佳影片大奖,预计5月与全国观众见面。电影以一场MMA冠军赛为背景,讲述了一对格斗兄弟交织了……
神奇动物格林德沃之罪变身热搜王连大衣都让人心动星关系11月20日讯由《哈利波特》作者J。K。罗琳全新创作的《神奇动物:格林德沃之罪》正在全国热映中,电影在上映以来,票房节节攀升,首周末劲收2。59亿票房,与此同时更是话题不……
电影麦路人入围东京国际电影节亚洲未来单元主演杨千嬅酷飒亮相星关系10月29日讯由郑保瑞监制,黄庆勋导演,影帝郭富城和影后杨千嬅联同多位实力派演员万梓良、鲍起静、张达明等倾力出演的社会写实电影《麦路人》,自开拍以来便以触动人心的贴地题材……
中兴通讯未来会怎么发展?中兴通讯显然不符合独角兽企业的定义,原因可自行搜索,贴上来怕说我抄袭。所以,这两个问题完全可以归结为一个问题,就是预测中兴通讯的股票长线走势。下面,从两个角度来分析:基本面……
三星退出中国市场,为何仍然占据世界之首?难道我们消费者不重要近期,国外知名手机调研分析机构,公布了2021年手机出货量排名的最新数据,及增长比率。今年第一季度,全球市场手机出货量总计,达到了3。47亿台,相比上一季度增长27。而三星独占……
Python入门简介,人生苦短,我用PythonPython入门就要先从简介开始,Python意为蟒蛇,是荷兰人GuidovanRossum在1989年发明了一种面向对象的解释型编程语言。很有趣的是,许多编程语言都是动物,盘……