我是靠谱客的博主 孝顺小松鼠,最近开发中收集的这篇文章主要介绍[JAVA学习笔记-66]系统吞吐量的概念,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一.系统吞度量要素:


  一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。


单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。


系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间


        QPS(TPS):每秒钟request/事务 数量


        并发数: 系统同时处理的request/事务数


        响应时间:  一般取平均响应时间


(很多人经常会把并发数和TPS理解混淆)


理解了上面三个要素的意义之后,就能推算出它们之间的关系:


QPS(TPS)= 并发数/平均响应时间


        一个系统吞吐量通常由QPS(TPS)、并发数两个因素决定,每套系统这两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统的吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换、内存等等其它消耗导致系统性能下降。


决定系统响应时间要素


我们做项目要排计划,可以多人同时并发做多项任务,也可以一个人或者多个人串行工作,始终会有一条关键路径,这条路径就是项目的工期。


系统一次调用的响应时间跟项目计划一样,也有一条关键路径,这个关键路径是就是系统影响时间;


关键路径是有CPU运算、IO、外部系统响应等等组成。


二.系统吞吐量评估:


我们在做系统设计的时候就需要考虑CPU运算、IO、外部系统响应因素造成的影响以及对系统性能的初步预估。


而通常境况下,我们面对需求,我们评估出来的出来QPS、并发数之外,还有另外一个维度:日PV。


通过观察系统的访问日志发现,在用户量很大的情况下,各个时间周期内的同一时间段的访问流量几乎一样。比如工作日的每天早上。只要能拿到日流量图和QPS我们就可以推算日流量。


通常的技术方法:


        1. 找出系统的最高TPS和日PV,这两个要素有相对比较稳定的关系(除了放假、季节性因素影响之外)


        2. 通过压力测试或者经验预估,得出最高TPS,然后跟进1的关系,计算出系统最高的日吞吐量。B2B中文和淘宝面对的客户群不一样,这两个客户群的网络行为不应用,他们之间的TPS和PV关系比例也不一样。

最后

以上就是孝顺小松鼠为你收集整理的[JAVA学习笔记-66]系统吞吐量的概念的全部内容,希望文章能够帮你解决[JAVA学习笔记-66]系统吞吐量的概念所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部