当前位置: 首页 > news >正文

TPS、QPS、CPS、PV和UV

TPS (Transaction Per Second)每秒事务处理量

QPS (Query Per Second)每秒查询率

PV(Page View)页面浏览量

UV(Unique Visitor)独立访客数

TPS 概念

TPS:是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。

QPS 概念

QPSQueries Per Second意思是每秒查询率,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。

CPS 概念

CPSConnection Per Second意思是每秒新建连接数,定义了新建连接的速率。当新建连接的速率超过规格定义的每秒新建连接数时,新建连接请求将被丢弃。

TPS 与 QPS 区别

TPS 即每秒处理事务数,包括以下部分:

  • 1、用户请求服务器
  • 2、服务器自己的内部处理
  • 3、服务器返回给用户

这三个过程,每秒能够完成N个这三个过程,TPS也就是N。

QPS 基本类似于TPS,但是不同的是,对于一个页面的一次访问,形成一个TPS。但一次页面请求,可能产生多次对服务器的请求,服务器对这些请求,就可计入QPS之中。

例如:访问一个页面会请求服务器3次,一次访问,产生一个“T”,产生3个“Q”

QPS 计算公式

每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。

  • 原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间
  • 公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS)
  • 机器:峰值时间每秒QPS / 单台机器的QPS = 需要的机器

问:每天300w PV 的在单台机器上,这台机器需要多少QPS?

答:( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS)

问:如果一台机器的QPS是58,需要几台机器来支持?

答:139 / 58 = 3

系统吞吐量

一个系统的吞度量(承压能力)与request对CPU的消耗外部接口IO等等紧密关联。单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。

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

  • QPS(TPS):每秒钟request/事务 数量
  • 并发数:系统同时处理的request/事务数
  • 响应时间:一般取平均响应时间

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

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

TPS和QPS区别:

1、如果是对一个查询接口压测,且这个接口内部不会再去请求其他接口,那么 TPS = QPS ,否则,TPS != QPS

2、如果是容量场景,假设 N 个接口都是查询接口,且这个接口内部不会再去请求其他接口,则 QPS = N * TPS

总结:

TPS和QPS概念比较接近,都会被用来评价系统的处理能力,最大区别主要是,T是表示实物处理量,一般是增、删、改、查这类操作;而Q则是查询,不涉及到数据变更。

一般说的,系统的并发处理能力,即TPS。

PV和UV则是用来统计站点的访问量。

参考:聊聊TPS、QPS、CPS概念和区别-腾讯云开发者社区-腾讯云

相关文章:

  • 『FPGA通信接口』LVDS接口(4)LVDS接收端设计
  • 1095 解码PAT准考证(测试点3)
  • 海外短剧系统如何征服观众心
  • Docker可视化web工具
  • 工业web4.0UI风格令人惊艳
  • YIA主题侧边栏如何添加3D旋转标签云?
  • Spring Boot与Istio服务网格的整合实践
  • Spring Boot集成Minio插件快速入门
  • 「五度易链」企业大数据API接口开放平台上线啦!
  • EE trade:炒伦敦金的注意事项及交易指南
  • 1962springboot VUE社区服务平台系统开发mysql数据库web结构java编程计算机网页源码maven项目
  • VScode创建ROS项目 ROS集成开发环境
  • 【数学】Leetcode 69. x 的平方根【简单】
  • Linux源码阅读笔记04-实时调度类及SMP和NUMA
  • 跟《经济学人》学英文:2024年6月15日这期 The war for AI talent is heating up
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • Angular 响应式表单之下拉框
  • CSS实用技巧
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • gcc介绍及安装
  • js中的正则表达式入门
  • 初识MongoDB分片
  • - 概述 - 《设计模式(极简c++版)》
  • 机器学习中为什么要做归一化normalization
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 深度学习在携程攻略社区的应用
  • 译有关态射的一切
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • Spring Batch JSON 支持
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​secrets --- 生成管理密码的安全随机数​
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • ### RabbitMQ五种工作模式:
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (Java数据结构)ArrayList
  • (Matlab)使用竞争神经网络实现数据聚类
  • (Oracle)SQL优化基础(三):看懂执行计划顺序
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (阿里云万网)-域名注册购买实名流程
  • (补)B+树一些思想
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (十八)三元表达式和列表解析
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (原創) 未来三学期想要修的课 (日記)
  • (轉)JSON.stringify 语法实例讲解
  • (轉貼) UML中文FAQ (OO) (UML)
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .NET Core 发展历程和版本迭代
  • .Net Core 生成管理员权限的应用程序
  • .NET Core6.0 MVC+layui+SqlSugar 简单增删改查
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型