TPS的性能指标_tps 性能指标-程序员宅基地

技术标签: JAVA  LOADRUNNER  J2EE  系统架构  


  1.如何理解TPS
  性能指标的一个重要因素。TPS(Transaction Per Second,每秒事物数),单位时间内完成的事物的数量。TPS的计算一般是通过的事物除以时间。
  TPS是跟测试脚本中事物(Transaction)相关联的。
  在性能测试工具中,吞吐量也被称之为TPS(Transaction Per Second,每秒事物数)。吞吐量直接体现系统性能的承载能力,是指单位时间内处理的客户请求的数量。其计量单位可以根据需求不同而不同,比如请求数/秒,页面数/秒,业务数/小时(可以说下我们采集项目中吞吐量可以用 解析卡数/秒)。
  对于交互式应用,用户直接的体验就是“响应时间”,通过“并发用户数”和“响应时间”可以确定系统的性能规划;但对于非交互式应用,用“吞吐量”来描述用户对系统的性能期望可能更加合理。
  吞吐量作为性能测试的主要关键指标。吞吐量和并发用户数之前存在着一定的联系。在没有性能瓶颈的时候,吞吐量随着虚拟用户数的增加而增加(计算公式为 吞吐量 = (VU个数 * 每个VU发出请求数) / 单位时间)。如果性能遇到瓶颈,吞吐量与VU数理之间就不再符合这个关系。

  2.如何理解线程调用
  线程(thread)是”进程”中某个单一顺序的控制流。也被称为轻量进程。
 
  线程的好处:

  1 创建一个新线程花费的时间少。
 
  2.( JAVA中线程具有新的,可运行,运行,等待/阻塞/休眠,死亡等几种状态。)在未阻塞情况下,两个线程(在同一进程中的)的切换时间少。在阻塞情况下,线程间切换将产生上下文切换。
  3.由于同一个进程内的线程共享内存和文件,所以线程之间互相通信不必调用内核。

  4 线程能独立执行,能充分利用和发挥处理机与外围设备并行 工作的能力。
  使用线程可以把占据长时间的程序中的任务放到后台去处理
  ps:JAVA中可以通过jstack或者jprofiler dump出线程所执行的堆栈信息。

  3.如何理解响应时间
  响应时间反映完成某个业务所需要的时间。
  在性能测试中是通过测试工具的事物函数来完成响应时间的统计。事物函数会记录开始事物和结束事物的时间差,使用Transaction Response Time这个词来说明。
  响应时间主要包括网络时间,服务器处理时间,网络延迟
  对于交互式应用,用户直接的体验就是“响应时间”,通过“并发用户数”和“响应时间”可以确定系统的性能规划;
  对于交互式应用,响应时间出现拐点系统就可能出现瓶颈
  4.如何理解性能建模(可分类回答)
 
  这个不会,之前找到一个资料,分享一下吧 http://www.docin.com/p-452373613.html

  5.如何理解响应时间,TPS曲线和用户之间的关系
  随着用户数量的增加,在未出现瓶颈前响应时间保持稳定,TPS值和并发用户数成线性关系,出现瓶颈后响应时间变长,TPS基本保持不变或开始下降。
  6.在 LoadRunner中为何要设置思考时间和pacing?
  1)Think time,思考时间。可以通过设置思考时间,来模拟真实用户在操作过程中的等待时间。从定义上来看,think time是在iteration内部的某个action中各个步骤的间隔时间。
  2)Pacing,步调。可以通过设置两次迭代(iteration)之间的间隔时间,来调整各个action之间的步调(或者称之为节奏)。
  3)pacing和think time都是可以模拟现实世界中的停顿。对于复杂场景,这个停顿要靠pacing来完成。不过,pacing怎么设置才最合适,是需要研究用户行为才能定的。
   操作系统
  1.如何判断CPU、内存、磁盘的瓶颈?

  CPU瓶颈:

  1) 查看CPU利用率。建议CPU指标如下
 
  a) User Time:65%~70%
 
  b) System Time:30%~35%
  c) Idle:0%~5%
 
  如果us,sy高于这个指标可以判断CPU有瓶颈
  使用top查看
 
  查看运行队列

  每个CPU都会维持一个运行队列,理想情况下,调度器会不断让队列中的进程运行。进程不是处在sleep状态就是run able状态。如果CPU过载,就会出现调度器跟不上系统的要求,导致可运行的进程会填满队列。队列愈大,程序执行时间就愈长。“load”用来表示运行队列,用top 命令我们可以看到CPU一分钟,5分钟和15分钟内的运行队列的大小。这个值越大表明系统负荷越大。超过 1.00,那么说明CPU已经超出负荷,交通严重的拥堵。
  使用top或者uptime查看

  查看上下文切换
  每个CPU(或多核CPU中每个核心)在同一时间只能执行一个线程, Linux采用抢占式调度。即为每个线程分配一定的执行时间,当到达执行时间,线程中有IO阻塞或高优先级线程要执行时,Linux将切换执行的线程,在切换时要存储目前线程的执行状态,并恢复要执行的线程状态,这个过程称之为上下文切换。对于java应用,典型的是在进行文件IO操作,网络IO操作,锁等待或线程sleep时,当前线程会进入阻塞或者休眠状态,从而触发上下文切换,上下文切换过多会造成内核占用过多的CPU使用,使得应用的响应速度下降。

  使用vmstat查看cs
 
  结论:
 
  检查system的运行队列,以及确定不要超出每个处理器3个可运行状态线程的限制.
  确定CPU 利用率中user/system比例维持在70/30
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jecons/article/details/8682355

智能推荐

java书面_Java程序猿的书面采访String3-程序员宅基地

文章浏览阅读88次。public class SameString {//思想二:每个字符都相应着自己的ASC码,第一个思想的算法复杂度为O(nlogn)。一般能够利用空间来减少时间复杂度//能够开辟一个大小为256的数组空间,而且将256个数组元素都置为0,然后遍历第一个字符串把字符的ASC作为数组下标。数组元素都加1,//然后遍历第二个字符串将数组元素的各个值都减1,假设最后数组元素的值为0的话说明就是同样的字符..._java程序员访谈

Python-类与类之间的相互调用_python中一个类怎么调用另一个类的方法-程序员宅基地

文章浏览阅读8.2k次,点赞5次,收藏30次。python语法当中,类与类之间的相互调用_python中一个类怎么调用另一个类的方法

Spring 中使用Mybatis,超详细_spring mybatis-程序员宅基地

文章浏览阅读1.2k次。本文详图讲述了在Spring中使用Mybats的步骤和方法。_spring mybatis

如何理解和分析linux系统的CPU平均负载情况(load average)_linux如何分析系统负载-程序员宅基地

文章浏览阅读5.8k次,点赞7次,收藏28次。最近研究linux时接触到了一个新的概念,叫做CPU的平均负载(load average)。之前都只听说过CPU的使用情况,很少听说过负载情况。于是对这个概念进行了一下研究学习,总结如下,以便日后查阅。_linux如何分析系统负载

多表连接的三种方式详解 hash join、merge join、 nested loop_meger for 循环多表连表-程序员宅基地

文章浏览阅读590次。多表连接的三种方式详解 hash join、merge join、 nested loop在多表联合查询的时候,如果我们查看它的执行计划,就会发现里面有多表之间的连接方式。多表之间的连接有三种方式:Nested Loops,Hash Join 和 Sort Merge Join.具体适用哪种类型的连接取决于当前的优化器模式 (ALL_ROWS 和 RULE) 取决于表大小 取决于连接列是否有索引 取决于连接列是否排序下面来介绍三种不同连接工作方式的不同:实验sql假如有10000个城_meger for 循环多表连表

IOS 专题集合_[url=forum.php?mod=viewthread&tid=2650&extra=page%-程序员宅基地

文章浏览阅读560次。第一期:【一周精品源码】各种动画的集合demo[img]file:///C:\Users\zhangjy\AppData\Local\Temp\8LDO48C$8@[GWU0353$FOVS.png[/img]http://www.code4app.com/forum.php?mod=viewthread&tid=8006&extra=page%3D1%26filter%3Ds..._[url=forum.php?mod=viewthread&tid=2650&extra=page%3d1%26filter%3dsortid%26so

随便推点

wps在线预览接口_WPS录屏、录制在线课程、PPT一气呵成-程序员宅基地

文章浏览阅读1.9k次。受到疫情影响,近期教师、学生都在使用了在线学习,教师在线直播、在线录课成为了近期的教学的必备手段,开始远程学习和远程办公成为近期的教学方式,WPS作为国产办公软件的龙头,自然有许多远程办公的工具,WPS录屏就是法宝之一。WPS录屏又称“屏幕录制”,功能齐全操作简便,非常适合教学演示录制、会议演示录制、制作视频教程和产品宣传片等场景。1、在WPS上怎样实现屏幕录制?答:打开文档/表格/PP..._wps微课录制插件

数据分析-程序员宅基地

文章浏览阅读1k次,点赞16次,收藏8次。数据通常来自于企业内部或外部,企业内部数据可以直接从系统获得,外部数据则需要购买,或者通过爬虫等数据采集工具采集;: 获取到的数据往往会包含一些干扰数据、不完整数据,因此一般需要对数据做相应的处理;: 不同的业务对数据的需求不同,根据相关业务或战略需求建立相应的数据模型,有针对性进行主题分析;: 根据模型中要分析或计算的指标,采用相应的分析方法进行数据分析,得出目标分析结果;: 将数据分析结果进行可视化展示,使其更加方便业务人员或决策者理解数据的来源主要分为两大类,企业。

一文掌握:服务器渲染的web开发搭建以及运行(html nodejs cors express)_node 服务端渲染-程序员宅基地

文章浏览阅读310次。毕业设计 mysql nodejs cors express html router _node 服务端渲染

文件系统_文件系统要维护的信息包括-程序员宅基地

文章浏览阅读691次。计算机的文件是一种存储和组织计算机数据的方法,是一套实现了数据的存储、分级组织、访问和获取等操作的抽象数据类型。设备文件设备文件与系统的某个设备相对应。在内核中,每种设备文件都有与之相对应的设备驱动程序,用来处理设备的所有I/O请求。设备划分为两类:字符型设备基于每个字符处理数据。终端和键盘块设备每次处理一块设备。块的大小取决于设备类型。磁盘和磁带设备。磁盘和分区常规文件和目录通常放在硬盘设备_文件系统要维护的信息包括

Solr router 路由介绍_router:implicit-程序员宅基地

文章浏览阅读1k次。目录1、compositeId路由1.1、compositeId路由原理1.2、compositeId路由查询2、implicit路由2.1、implicit路由原理2.2、implicit路由查询3、扩展3.1、compositeId路由方式扩展3.2、implicit路由方式扩张solrcloud的官方文档有对路由的简短介绍,但是不够详细和深入。solr..._router:implicit

TypeScript的理解-程序员宅基地

文章浏览阅读295次。TypeScript比js有更严格的类型要求let a: number//要求a的类型必须是numberadd ():string{ return 'a'} //要求函数add返回的类型必须是stringlet a !:number//要求a的类型必须是非空并且是numberlet a ?:number//要求a可有可没有这样写的好处就是在多人开发的大型项目当中可以减少类型不一致的bug装饰器随着 ES6 和 TypeScript 中类的引入,使得我们在多个不同类之间共享_typescript的理解

推荐文章

热门文章

相关标签