主要观点总结
文章讨论了架构设计中的性能与扩展性问题,特别是关于延时、吞吐量、线程数的关系以及如何进行性能优化。文章还介绍了线程数与吞吐量的关系,以及如何合理设置线程数以提高系统性能。
关键观点总结
关键观点1: 延时和吞吐量的评估维度
文章强调在性能优化中,一个用户慢时优化延时,多个用户扛不住时优化吞吐量。延时是偏性能的指标,而吞吐量是偏扩展性的指标。
关键观点2: 关于线程数与吞吐量的关系
文章讨论了线程数与吞吐量之间的关系,指出增加线程数是提高吞吐量的方法之一,但并非所有情况下都能提升吞吐量。同时介绍了合理设置线程数的依据和方法。
关键观点3: 服务线程模型
文章介绍了常见的服务线程模型,如“IO线程与Worker线程通过队列解耦”类线程模型,并详细解释了工作线程的工作模式。
关键观点4: 如何合理设置工作线程数
文章通过量化分析,提供了合理设置工作线程数的方法。指出在非CPU密集型的业务中,设置几十或几百个工作线程通常能提升吞吐量。
文章预览
《架构师之路:架构设计中的100个知识点》 4.性能与扩展性,线程数与吞吐量 昨天聊了,啥时候应该优化延时 (Latency) ,啥时候应该优化吞吐量 (Throughput) 。 画外音:短视频二维码附在文末。 有一些评论,值得和大家扩展讨论下: (1)有人说,延时与吞吐量是一回事, 说延时下去了,吞吐量自然就上来了; (2) 有人说, 增加线程数,吞吐量就上来了; (3) 有人说, 增加线程数,吞吐量未必上来; 【1】延时和吞吐量,是评估啥的指标? 再次强调一下,在性能优化中: 一个用户慢,就去优化延时。 多个用户扛不住,就去优化吞吐量。 延时,是偏性能(performance)的指标。 吞吐量,是偏扩展性(scalability)的指标。 performance和scalability,评估维度并不一样。 前端架构,为什么聊 performance更多? 前端FE,Android,IOS的童鞋,经常说提升performance
………………………………