java 并发数_并发数和TPS的理解

java 并发数_并发数和TPS的理解并发数可以理解为 单位时间内同时在线的人数 而这个数值是可以一直增大的 但是 TPS 就不一样了 TPS 受限于机器的硬件资源 最常见的就是 CPUload 当并发数在增大 CPUload 也会上升 一般当 load 到达 1 时 满载 也代表着 TPS 到达一个顶峰 如果并发数继续增大 那么 TPS 的曲线会下降 所以 如果用图来描述上述过程的话 并发数是一条直线 TPS 是一条抛物线 当 load 未满载时呈现上升 满载

并发数可以理解为,单位时间内同时在线的人数,而这个数值是可以一直增大的;但是TPS就不一样了,TPS受限于机器的硬件资源,最常见的就是CPU load,当并发数在增大,CPU load也会上升,一般当load到达1时,满载,也代表着TPS到达一个顶峰,如果并发数继续增大,那么TPS的曲线会下降。

所以,如果用图来描述上述过程的话,并发数是一条直线,TPS是一条抛物线(当load未满载时呈现上升,满载后下降),所以我认为两者是不同的概念,不能混为一谈。

对于TPS我是认同以上的观点;一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联,单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。对于TPS的考量,这里其实有几个关键的要素:

TPS:每秒钟request/事务 数量

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

RT:事务处理响应时间,一般取平均响应时间

基于此,平时我们计算TPS遵循如下关系:TPS= 并发数/RT

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

PS:下面是性能测试的主要概念和计算公式,记录下:

一.系统吞度量要素:

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

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

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

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

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

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

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

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

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

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

决定系统响应时间要素

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

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

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

二.系统吞吐量评估:

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/225968.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午8:08
下一篇 2026年3月17日 上午8:08


相关推荐

  • host配置_win10hosts文件配置异常

    host配置_win10hosts文件配置异常host添加地址今天是我第一天入职,坐到工位的第一件事就是配置host,因为连接测试环境需要本地授权,所以要配置。这里简单记录下配置中遇到的问题和操作的步骤操作环境是win10,之前公司一直使用的win7系统,所以对win10系统不是很熟悉,还要多多使用才行。使用win自带功能添加1.点击【此电脑】,路径为:C:\Windows\System32\drivers\etc选择hos…

    2022年4月20日
    205
  • quick-cocos2d-x android返回键监听并实现原生退出对话框

    quick-cocos2d-x android返回键监听并实现原生退出对话框

    2021年12月2日
    50
  • [转] 【卡饭首发】卡巴斯基2016年Q1威胁演化报告

    [转] 【卡饭首发】卡巴斯基2016年Q1威胁演化报告目录 0x01 第一季度的数据 0x02 重大安全事件概述 有目标性的攻击 BlackEnergy2 3 Poseidon HackingTeam OperationBLO 针对医院的攻击 网络犯罪活动 Adwind RAT Bankingthrea 银行威胁 FakeCERT Bangladesh0x

    2026年3月26日
    2
  • 计算机设计大赛作品开发文档[通俗易懂]

    计算机设计大赛作品开发文档[通俗易懂]参加的是2020年的计算机设计大赛,软件应用与开发赛道。我们的开发文档仅供参考。可以去我的资源下载:计算机设计大赛作品开发文档目录第一章需求分析 31.1开发背景 31.2市场分析 31.2.1目标用户 31.2.2竞品分析 31.3作品简介 41.3.1主要功能 41.3.2优势和创新点 4第二章概要设计 52.1总体设计 52.2技术框架 52.2.1前端 52.2.2后端 62.3模块设计 6第三章详细设计 83.1界面设计 83.2数据库设

    2022年7月16日
    16
  • CSS 伪类: 什么是 CSS 伪类?CSS 伪类怎么分类? CSS 伪类有哪些?以及分类对应的伪类

    CSS 伪类: 什么是 CSS 伪类?CSS 伪类怎么分类? CSS 伪类有哪些?以及分类对应的伪类本章讲解的内容为 CSS 伪类 废话不多说 直接上代码以及图例 为了让大家方便阅读 都有自己验证过程的一些图片作为分享 一 什么是 CSS 伪类 1 CSS 伪类是用来添加一些 选择器 的特殊效果 特殊状态 2 伪类实际使用场景举例 1 设置鼠标悬停在元素上时的样式 2 为已访问和未访问链接设置不同的样式 3 设置元素获得焦点时的样式 二 CSS 伪类选择器的分类 4 类 1 动态伪类选择器 2 UI 元素状态伪类选

    2026年3月17日
    2
  • 一篇文章彻底搞懂浅拷贝和深拷贝的区别_深拷贝和浅拷贝的题

    一篇文章彻底搞懂浅拷贝和深拷贝的区别_深拷贝和浅拷贝的题强烈推荐30个原生JavaScript的demo,包括canvas时钟特效、自定义视频播放器、搜索栏快速匹配、fetch访问资源、console调试技巧等,先fork后学习,详见点击打开链接,欢迎点赞~~~谢谢,共同进步学习!【javascript】详解javaScript的深拷贝目录浅谈深拷贝和浅拷贝 深拷贝和浅拷贝的区别 为什么要使用深拷贝? 深拷贝的要求程度…

    2022年10月1日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号