高并发下的QPS、TPS、RT、PV、并发量分别是什么意思?

2024-02-29 18:36
文章标签 分别 并发 意思 tps rt pv qps

本文主要是介绍高并发下的QPS、TPS、RT、PV、并发量分别是什么意思?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 一、前言
  • 二、指标说明
    • 2.1 PV
    • 2.2 QPS
    • 2.3 TPS
    • 2.4 RT
    • 2.5 并发数
  • 三、案例分析

一、前言

现在越来越的的面试会问到高并发场景,高并发场景离不开高并发下的几个常见指标,本文就说书说高并发下的QPS、TPS、RT、PV、并发量分别是什么意思?

二、指标说明

2.1 PV

PV(page view)即页面浏览量,通常是衡量一个网络新闻频道或网站甚至一条网络新闻的主要指标。
PV 即 page view,页面浏览量。用户每一次对网站中的每个页面访问均被记录 1 次。用户对同一页面的多次刷新,访问量累计。
根据这个特性,刷网站的 PV 就很好刷了。

在这里插入图片描述
图中奥特曼向服务器发出的一次攻击就是一次PV

2.2 QPS

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

简单的说,QPS = req/sec = 请求数/秒。它代表的是服务器的机器的性能最大吞吐能力。

在这里插入图片描述

图中奥特曼向服务器每秒发动的攻击就相当于qps

2.3 TPS

TPS Transactions Per Second 的缩写,每秒处理的事务数目。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。
客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数,最终利用这些信息作出的评估分。

TPS 的过程包括:客户端请求服务端、服务端内部处理、服务端返回客户端。

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

例如,访问一个 Index 页面会请求服务器 3 次,包括一次 html,一次 css,一次 js,那么访问这一个页面就会产生一个“T”,产生三个“Q”。

在这里插入图片描述

图中奥特曼访问一次服务器会攻击三次,可以理解成TPS是1QPS是3

2.4 RT

RT 指的是响应时间(Response Time),是指从客户端发一个请求开始计时,到客户端接收到从服务器端返回的响应结果结束所经历的时间。他的数值大小直接反映了系统的快慢

在这里插入图片描述

奥特曼向服务器发起一条攻击的时候,服务器也回应了一条攻击给奥特曼,这一个回合的时间就是RT时间。

2.5 并发数

并发数 指系统能够同时处理的请求数量,他是反应系统负载能力的一直标准

在这里插入图片描述

在这里插入图片描述

当三个奥特曼向服务器发起攻击他扛住了,当四个奥特曼向服务器发起攻击,他扛不住,说明这个服务器最大并发量是三。

三、案例分析

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

并发数 = QPS*平均响应时间

根据二八定律,每天80%的访问集中在20%的时间里,这20%的时间就叫做峰值时间。

(总PV数 * 80%)/(每天秒数 * 20%) = 峰值时间每秒请求数(QPS)

峰值时间每秒QPS / 单台机器的QPS = 需要的机器

如果:
每天3000w PV在单台机器上,这台机器需要多少qps?

根据前面的公式

(总PV数 * 80%)/(每天秒数 * 20%) = 峰值时间每秒请求数(QPS)

(3000000 * 80%)/ (84600 * 20%) = 139(QPS)

这篇关于高并发下的QPS、TPS、RT、PV、并发量分别是什么意思?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/759679

相关文章

在 Java 中,JDK、JRE、JVM 分别代表什么,有何关系和区别?

在Java开发的世界中,我们会经常听到JDK、JRE和JVM这三个词。它们都与Java的运行环境以及Java程序的编译和运行有关,它们之间也存在一些关联性和区别。 什么是JDK、JRE和JVM 我们来看它们分别是什么。 JDK,全称Java Development Kit,即Java开发工具包。顾名思义,JDK是用于Java开发的一套工具包,里面包含了Java的编译器javac、

iOS 到处 ipa包的时候 会有四个选项分别代表什么

如图 在 iOS 到处 ipa包的时候 会有四个选项  1.Save for iOS App Store Deployment 保存到本地 准备上传App Store 或者在越狱的iOS设备上使用 2.Save for Ad Hoc Deployment 保存到本地 准备在账号添加的可使用设备上使用(具体为在开发者账户下添加可用设备的udid),该app包是发布证书编

大型网站架构演化(四)——使用应用服务器集群改善网站的并发能力

使用集群是网站解决高并发、海量数据问题的常用手段。当一台服务器的处理能力、存储空间不足时,不要企图去更换更强大的服务器,对大型服务器而言,不管多么强大的服务器,都满足不了网站持续增长的业务需求。这种情况下,更恰当的做法是增加一台服务器分担原有服务器的访问及存储压力。 对网站架构而言,只要能通过增加一台服务器的方式改善负载压力,就可以以同样的方式持续增加服务器不断改善系统性能,从而实现系统

Java并发编程—阻塞队列源码分析

在前面几篇文章中,我们讨论了同步容器(Hashtable、Vector),也讨论了并发容器(ConcurrentHashMap、CopyOnWriteArrayList),这些工具都为我们编写多线程程序提供了很大的方便。今天我们来讨论另外一类容器:阻塞队列。   在前面我们接触的队列都是非阻塞队列,比如PriorityQueue、LinkedList(LinkedList是双向链表,它实现了D

Linux网络编程之简单并发服务器

1.概念 与前面介绍的循环服务器不同,并发服务器对服务请求并发处理。而循环服务器只能够一个一个的处理客户端的请求,显然效率很低. 并发服务器通过建立多个子进程来实现对请求的并发处理,但是由于不清楚请求客户端的数目,因此很难确定子进程的数目。因此可以动态增加子进程与事先分配的子进程相结合的方法来实现并发服务器。 2. 算法流程 (1)TCP简单并发服务器:     服务器子进程1:

23.并发

目录 一、一些概念二、进程和线程2.1 概念2.2 多线程导致的问题2.3 使用spawn创建新线程2.4 线程与move闭包 三、消息传递3.1 概念3.2 创建通道3.3 示例3.4 其它测试 四、共享状态并发4.1 互斥器4.2 Mutex的API4.3 多线程共享Mutex1)在多线程之间共享值;2)多线程和多所有权3) 原子引用计数4)RefCell/Rc与 Mutex/Arc的相

系统盘带有boot是什么意思?与dvd的区别在哪?

boot 光盘上标注有"Boot"意味着这张光盘包含了启动盘的功能。也就是说,它是一个可引导光盘,设计用于在计算机启动过程中加载操作系统或其他启动软件。当计算机启动时,通过BIOS或UEFI设置,可以配置从这个光盘上的引导数据启动,而不是常规地从硬盘启动。这在安装新操作系统、进行系统修复、或使用特定的诊断工具时非常有用。因此,如果你看到光盘上标有"Boot"或者相关的说明,表明它可以作为启动媒介

CentOS 7、Debian、Ubuntu,这些是什么意思

CentOS 7、Debian、Ubuntu 都是基于 Linux 内核的操作系统,它们各自有不同的特性和用途。以下是对它们的详细解释:  CentOS 7 CentOS(Community ENTerprise Operating System) 是一个基于开源的 Linux 发行版。CentOS 7 是 CentOS 项目的第七个主要版本,于 2014 年发布。  特点和用途

linux下I/O模型并发的epoll多进程池协程实现

方法1 主要思路: 定义了一个EventData结构体,用于存储事件相关的数据,如文件描述符、epoll 文件描述符、协程 ID 等。EchoDeal函数用于处理请求消息,并生成响应消息。handlerClient函数是协程的执行函数,用于处理客户端连接。它通过循环读取数据、解析请求、执行业务处理、发送响应等步骤,实现了对客户端请求的处理。handler函数是主函数,用于创建监听套接字、初始化

什么是并发

并发是指在一段时间内同时做多个事情,当有个线程在运行时,如果只有一个CPU,这种情况下计算机操作系统会采用并发技术实现并发运行,具体做法是采用“时间片轮询算法”,在一个时间段的线程代码运行时,其它线程处于就绪状。这种方式我们称之为并发(Concurrent)。 串行(serial):一个CPU上,按顺序完成多个任务。 并行(parallelism):指的是任务数小于等于cpu核数,即任务真