性能测试常用概念及计算公式

性能测试常用概念及计算公式

一、概念

  1、并发连接数-SBC(Simultaneous Browser Connections)

  并发连接数指的是客户端向服务器发起请求,并建立了TCP连接。每秒钟服务器链接的总TCP数量,就是并发连接数。

  2、请求数-QPS(Query Per Second)/RPS(Request Per Second)

  请求数有2个缩写,可以叫QPS也可以叫RPS。单位是每秒多少请求。Query=查询,也相当于请求。请求数指的是客户端在建立完连接后,向http服务发出GET/POST/HEAD数据包,服务器返回了请求结果后有两种情况:

  • http数据包头包含Close字样,关闭本次TCP连接;
  • http数据包头包含Keep-Alive字样,本次连接不关闭,可继续通过该连接继续向http服务发送请求,用于减少TCP并发连接数。

  3、并发用户数

  并发用户数量,有两种常见的错误观点。一种错误观点是把并发用户数量理解为使用系统的全部用户的数量,理由是这些用户可能同时使用系统;还有一种比 较接近正确的观点是把用户在线数量理解为并发用户数量。实际上,在线用户不一定会和其他用户发生并发,例如正在浏览网页的用户,对服务器是没有任何影响 的。但是,用户在线数量是统计并发用户数量的主要依据之一。

二、计算公式

  1、最大在线用户数=WEB支持的最大连接数*session过期时间/http连接保持时间

  2、估算用户 = 测试用户 x (事务反应时间 + 实际用户操作延迟时间)/事务反应时间

  3、平均并发用户数:C = nL/T

  C是平均并发用户数,n是login session的数量,L是login session的平均长度,T是考察时间的长度

  4、并发用户数峰值:C‘ = C +3根号C

  例:

   假设有一个OA系统,该系统有3000用户,平均每天有400用户访问该系统,对一个典型的用户来说,一天之内从用户登陆到退出的平均时间为4个小时,在一天内,用户只在8个小时内使用系统;则根据公式可得:

  C = 400*4/8   结果为加上thinktime的值    不加thinktime并发数为:C*20% (10%~20%)

  F = VU *R/T  其中F是吞吐量,VU表示虚拟用户数,R表示每个虚拟用户发出的请求数,T表示性能测试的时间。

  R = T/TS   TS为用户思考时间

  5、磁盘有两个重要的参数: Seek time和Rotational latency。正常的I/O计数为:①1000/(Seek time+Rotational latency)*0.75,在此范围内属正常。

  6、QPS:每秒查询率(Query Per Second) ,每秒的响应请求数,也即是最大吞吐能力。
    QPS = req/sec = 请求数/秒
    QPS统计方式 [一般使用 http_load 进行统计]
    QPS = 总请求数 / ( 进程总数 * 请求时间 )
    QPS: 单个进程每秒请求服务器的成功次数
  7、峰值QPS:原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间
    公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS)
  8、PV:访问量即Page View, 即页面浏览量或点击量,用户每次刷新即被计算一次
    单台服务器每天PV计算
    公式1:每天总PV = QPS * 3600 * 6
    公式2:每天总PV = QPS * 3600 * 8
  9、UV:独立访客即Unique Visitor,访问您网站的一台电脑客户端为一个访客。00:00-24:00内相同的客户端只被计算一次服务器数量:
    机器:峰值时间每秒QPS / 单台机器的QPS = 需要的机器
    机器:ceil( 每天总PV / 单台服务器每天总PV )

时间: 2024-08-07 06:02:10

性能测试常用概念及计算公式的相关文章

性能测试基本概念

一.性能测试的概念 性能测试是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试.负载测试和压力测试都属于性能测试,两者可以结合进行. 通过负载测试,确定在各种工作负载下系统的性能,目标是当负载逐渐增加时,测试系统各项性能指标的变化情况.压力测试时通过确定一个系统的瓶颈或者不能接受的 性能点,来获取系统能提供的最大服务级别的测试.性能测试主要包括负载测试.强度测试.容量测试. 二.性能测试的指标 web服务器:            Avg Rps: 平均每秒的响应

Auto入门 之 常用概念

1.SEMI (Semiconductor Equipment And Materials International)  国际半导体设备与材料产业协会 2.SECS SECS协议是基于RS-232或TCP/IP的点对点协议,由SECS I/HSMS.SECS II两层及GEM构成   SECS I/HSMS 为传输层,SECS II则把SECS I传输的二进制串翻译成形象直观的格式表示出来,SECS II规范传输资料的标准结构和显示内容,方便使用者查看数据内容. 3.GEM (Generic

Python--多线程、多进程常用概念

一.常用概念 进程 进程就是一个程序在一个数据集上的一次动态执行过程.进程一般由程序.数据集.进程控制块三部分组成. 线程 线程的出现是为了降低上下文切换的消耗,提高系统的并发性,并突破一个进程只能干一样事的缺陷,使到进程内并发成为可能. 线程也叫轻量级进程,它是一个基本的CPU执行单元,也是程序执行过程中的最小单元,由线程ID.程序计数器.寄存器集合和堆栈共同组成.线程的引入减小了程序并发执行时的开销,提高了操作系统的并发性能.线程没有自己的系统资源. 线程切换的开销远远小于进程切换的开销 切

布局与控件(一)——布局与控件的常用概念

第1节 布局与控件的常用概念 界面设计中的控件,就是我们常常看到的按钮 滑动条 文字显示区等等,它们就像房间里的家具,是界面设计的最小单位. 布局是一个可以容纳别的布局(或者控件)的容器.它就像是一个大的房间,房间里面可以放各种家具(控件),也可以再隔离成更多的房间(放入别的布局). 不过,两者有很多共同的地方,例如定义它们的大小.边距等等. 1.1 尺寸单位 在使用布局或控件时,有时需要指定它们的尺寸.安卓系统提供了三种单位: px:以像素为单位进行设置,屏幕上每一个点,就是一个像素,例如一部

Loadrunner基础:性能测试基本概念

常用场景 支持的并发数量 系统的响应时间 系统的资源消耗 系统软件架构的评审 性能调优 性能测试的种类 可靠性测试:测试系统运行一段时间的稳定性. 并发测试:多个用户访问同一个应用,同一个模块斯否会存在死锁和其他性能问题. 负载测试: 逐步加压,测试系统的处理能力,确定系统能够承受的各项阈值,即出指定指标下的系统负载量(响应时间不超过10s,系统CPU的利用率不超过85%). 压力测试: 逐步加压,测试系统的性能变化,并指出在什么样的情况下系统性能会处于失效状态. 容量测试:系统能测试的最大的会

007-elasticsearch【一】概述、Elasticsearch 访问方式、Elasticsearch 面向文档、常用概念

一.概述 Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上. Elasticsearch 也是使用 Java 编写的,它的内部使用 Lucene 做索引与搜索,但是它的目标是使全文检索变得简单, 通过隐藏 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API. 然而,Elasticsearch 不仅仅是 Lucene,并且也不仅仅只是一个全文搜索引擎. 它可以被下面这样准确的形容: 一个分布式的实时文档存储

软件性能测试的基本概念和计算公式(转发)

一.软件性能的关注点 对一个软件做性能测试时需要关注那些性能呢? 我们想想在软件设计.部署.使用.维护中一共有哪些角色的参与,然后再考虑这些角色各自关注的性能点是什么,作为一个软件性能测试工程师,我们又该关注什么? 首先,开发软件的目的是为了让用户使用,我们先站在用户的角度分析一下,用户需要关注哪些性能. 对于用户来说,当点击一个按钮.链接或发出一条指令开始,到系统把结果已用户感知的形式展现出来为止,这个过程所消耗的时间是用户对这个软件性能的直观印象.也就是我们所说的响应时间,当相应时间较小时,

初识性能测试:(一)性能测试基本概念

一.性能测试学习路线 loadrunner入门→jmeter→java基础→beanshell→架构知识→linux分析调优→各种中间件等定位调优.并发工具,jmeter是主流. 二.性能测试主要类型 性能测试主要包括:压力测试/强度测试.负载测试.并发测试.容量测试 1.压力测试/强度测试(Stress testing):在一定的软件.硬件及网络环境下,通过模拟大量的虚拟用户向服务器产生负载,使服务器的资源处于极限状态下长时间连续运行,以测试服务器在高负载情况下是否能够稳定工作.尤其关注大业务

JMeter基础之常用概念

JMeter是一个非常流行的性能测试工具,它的优点如下: 开源,它是一款开源的免费软件,使用它不需要您支付任何费用. 小巧,相比LoadRunner的庞大(最新LR11将近4GB),它非常小巧,不需要安装,但需要JDK环境,因为它是使用java开发的工具. 功能强大,JMeter设计之初只是一个简单的Web性能测试工具,但经过不段的更新扩展,现在可以完成数据库.FTP.LDAP.WebService等方面的测试.因为它的开源性,当然您也可以根据自己的需求扩展它的功能. 从性能工具的原理上看,JM