川石教育
全国咨询热线:136-9172-9932
  1. 首页 > 资讯与干货 > IT资讯

性能测试常用术语

作者:川石学院 日期:2021-03-17 15:52:48 点击数:

         性能测试过程中经常使用到一些术语,常见术语有:响应时间、并发用户数、吞吐量、吞吐 率、点击率、资源使用率、性能计数器等。

        响应时间 响应时间是指用户从客户端发送请求到所有的请求都从服务器返回客户所经历的时间。该定义 强调所有数据都返回客户端所花费的时间,为什么说是所有数据呢?因为用户体验的响应时间带有 主观性,用户可能会认为从提交请求到服务器开始返回数据到客户端的这段时间为响应时间。 以一个 Web 应用的页面响应时间为例,如图 16-2 所示。从图中可以看到,页面响应时间=网 络传输时间+应用延迟时间。其中网络传输时间为(N1+N2+N3+N4),应用延迟时间为(A1+A2+A3), 而应用延迟时间又可分解为数据库延迟时间(A2)和 Web 服务器延迟时间(A1+A3)。

        并发用户数 并发用户数指同一时刻与服务器进行数据交互的所有用户数量。概念中有两点需要注意。第一: 并发强调所有的用户必须在同一时刻对服务器进行施压。例如:一个人同时挑两件东西,表示两个 东西同时被这个人挑,而如果是先挑一件,再挑另外一件,那么就无法表现出同时的概念,这两件 东西也就没有同时施压在这个人身上。第二:强调要与服务器进行数据交互,如果未和服务器进行 数据交互,这样用户是没给服务器带来压力的。同样是上面的例子,这个人虽然同时挑了两件东西, 但其中一件东西是没重量的,这就是说只有一件东西对这个人造成压力。 在工作中,对于并发用户这个概念的理解经常会出现以下两种误区:一是认为系统所有的用户 都是并发用户;二是认为所有在线的用户都是并发用户。 系统使用中所有的用户是指所有可能用到该系统的用户,但这并不是并发用户数,例如公司的 员工为 800 人,正常情况下这 800 人都会使用到 OA 系统(自动化办公系统),即系统的所有用户 数为 800 人,但是并不代表这 800 人都同时在使用 OA 系统,即并发用户数不可能为 800 人。 在线用户指当前正在使用系统的用户,但在线用户不一定是并发用户,因为在线用户不一定就 与系统进行了数据交互。例如,如果一些在线用户只是查看系统上的一些消息,那么这些在线用户 不能作为并发用户计算,因为这些用户并没有与系统进行数据交互,不会给服务器带来任何压力。 如何计算并发用户数呢?目前并没有一个精确的计算公式,很多情况下都是根据以往的经验进 行估算。根据行业的不同,并发用户数也会有所不同,像电信行业并发用户数为在线用户的万分之 一,如果有 1000 万在线用户,那么测试 1000 个并发用户即可。OA 系统的并发用户数一般是在线 用户的 5%20%左右,所以并发用户很大程度上是根据经验和行业的一些标准来计算的。

        吞吐量 在性能测试过程中,吞吐量是指单位时间内服务器处理客户请求的数量,吞吐量通常使用请求 数/秒来衡量,直接体现服务器的承载能力。 吞吐量作为性能测试过程中主要的指标之一,它与虚拟用户数之间存在一定的联系,当系统没 有遇到性能瓶颈时,可以采用下面这个公式来计算。 VU N R F T  其中,F 表示吞吐量;NVU表示 VU(Virtual User,虚拟用户)的个数;R 表示每个 VU 发出 的请求数量;T 表示性能测试所用的时间。 但是如果系统遇到性能瓶颈,这个公式就不再适用,吞吐量与 VU 之间的关系图如图 16-3 所 示。从图中可以看出,吞吐量在 VU 数量增长到一定值时,软件系统出现性能瓶颈,此时吞吐量的 值并不再随着 VU 数量的增加而增大,而是趋于平衡。

性能测试常用术语(图1)

但在实际测试过程中,测试前吞吐量是不知道的,必须通过不断添加虚拟用户来不断地测试, 才能找到吞吐量的拐点,即服务器实际吞吐量的值。【实例】假设向一个水池注水,每根小管注入的水量为 0.1 立方米每秒,而水池的出水量为 1 立方米每秒(假设这个值在测试之前不知道),如图 16-4 所示。当只放一根注水管时,水池的出水 量为 0.1 立方米每秒,即当前水池的吞吐量为 0.1 立方米每秒。依此类推,当放入 10 根注水管时, 水池的出水量为 1 立方米每秒,当放入 11 根(或大于 10 根)注水管时,水池的出水量也为 1 立方 米每秒,此时水池会开始积水,因为每秒排出的水比注入的水少,这说明水池的吞吐量为 1 立方米 每秒,不管注入的水量为多少,这个值都不再改变。服务器也是一样的,客户端不断请求,当服务 器能正确地处理时,测试出来服务器的吞吐量就会不断地增加,但当服务器无法处理时,吞吐量的 值就不再变化,此时即为到服务器最大吞吐量的值。  

性能测试常用术语(图2)

        吞吐率 吞吐率(Throughout)是指单位时间内从服务器返回的字节数,也可以指单位时间内服务器处 理客户提交的请求数。它是衡量网络性能的一个重要指标。吞吐率=吞吐量/测试时间,通常情况下 吞吐量的值越大,吞吐率的值也越大,那么系统的负载能力越强。 TPS(Transaction Per Second)表示服务器每秒处理的事务数,它是衡量系统处理能力的重要 指标。

        点击率 点击率(Hit Per Second)是指每秒钟用户向服务器提交的 HTTP 数量。用户每点击一次,服 务器端就要对用户提交的请求进行一次处理,从事务的角度来说,如果把每次点击作为提交事务来 对待,那么点击率与 TPS 的概念是等同的。对于 Web 系统来说,点击率是服务器处理的最小单位,点击率的值越大,说明服务器端所能承受的压力越大。因此通常情况下,Web 服务器都具有防刷 新的机制,因为客户每刷新一次系统就要响应一次点击,如果不对服务器进行防刷新处理,当用户 不停地单击刷新按钮,此时服务器将承受着巨大的压力。 需要注意的是,单击一次并不代表客户端只向服务器端发送一个 HTTP 请求,客户每单击一次, 都可能会向服务器端发出多个 HTTP 请求。点击率越高,说明客户端提交的请求数越多,正常情况 下并发的虚拟用户数越多,客户端提交的请求数越多。

        资源使用率 资源使用率是指服务器系统不同硬件资源被使用的程度,主要包括 CPU 使用率、内存使用率、 磁盘使用率、网络等。资源使用率=资源实际使用量/总的可用资源量。资源利用率表现当前服务器 资源使用的情况,它是分析服务器出现瓶颈和对服务器进行调优的主要依据,在配置调优测试的过 程中,通过比较配置调优前后系统资源的使用率来判断调优的效果。

        性能计数器 系统性能包括两部分:时间和空间。空间指的是系统硬件资源的使用情况,性能测试工具是如 何来监控硬件资源(如 CPU、内存、磁盘)的使用情况呢?性能测试工具并没有现成的指标可以 直接监控这些硬件资源使用的情况,依靠的是不同硬件资源所对应的计数器来监控。 性能计数器(Counter)是描述服务器或操作系统硬件使用情况的一系列数据指标。当然数据 库、Web 服务器和应用服务器也存在对应的计数器,但其他归根到底都是在消耗服务器的硬件资 源。通过添加计数器来观察系统资源的使用情况。监控不同的对象有着不同的计数器,主要包括操 作系统性能计数器、数据库计数器、应用服务器计数器等。 计数器在性能测试过程中发挥着监控和分析的关键作用,尤其是在分析系统的可扩展性和对性 能瓶颈进行定位时,计数器的阈值起着非常重要的作用。必须注意的是,一般情况下,单一的性能 计数器只能体现系统性能的某一个方面,在性能测试过程中分析测试结果时,必须基于多个不同的 计数器进行分析。 在性能测试中常用资源利用率进行横向对比。如在进行性能测试时发现,某个资源的使用率很 高,几乎达到 100%,假设该资源是 CPU,而其他资源的使用率又比较低,此时可以很清楚地知道, CPU 是系统性能的瓶颈。

        思考时间 思考时间(Think Time)也称为“休眠时间”,是指用户在进行操作时,每个请求之间的时间 间隔。对于交互系统来说,用户不可能持续不断地发出请求,一般情况下,用户在向服务端发送一 个请求后,会等待一段时间再发送下一个请求。性能测试过程中,为了模拟这个过程而引入思考时 间的概念。 在测试脚本中,思考时间为脚本中两条请求语句之间的间隔时间。当前对于不同的性能测试工 具提供了不同的函数来实现思考时间,在实际的测试过程中,如何设置思考时间是性能测试工程师 需要关心的问题。



相关文章
  • 亚马逊运营成功转行软件测试,薪资13K表示很满意!2021-03-17 15:52:48
  • 西安川石的兰朋友喊你来当他的学弟学妹啦!2021-03-17 15:52:48
  • 国外的月亮也不一定比国内测试猿的年薪美~2021-03-17 15:52:48
  • 建筑工程专业朱同学成功转行为软件测试人!2021-03-17 15:52:48
  • 财务管理专业转行软件测试月薪甩会计几条街!2021-03-17 15:52:48
  • 只有技术沉淀才能成功上岸,深圳就业薪资13K!2021-03-17 15:52:48
  • 薪资11K!实现自我价值,从掌握一门IT技术开始...2021-03-17 15:52:48
  • 文科生转行软件测试照样拿下高薪15K!2021-03-17 15:52:48
  • 恭喜罗同学喜提19.5K,成功入行软件测试!2021-03-17 15:52:48
  • 毕业1年,迷茫的他最终选择转行软件测试2021-03-17 15:52:48