【高性能篇】QPS概念、RT概念

在这里插入图片描述

什么是QPS,什么是RT?

  • ✔️典型解析
  • ✔️扩展知识仓
    • ✔️RT
  • ✔️QPS
    • ✔️ QPS和TPS
    • ✔️并发用户数
    • ✔️最佳线程数


✔️典型解析


QPS,指的是系统每秒能处理的请求数(Query Per Second),在Web应用中我们更关注的是Web应用每秒能处理的request数量。这个是衡量系统性能的重要指标。


RT,指的是响应时间(Response Time),是指从客户端发一个请求开始计时,到客户端接收到从服务器端返回的响应结果结束所经历的时间。

✔️扩展知识仓


✔️RT


响应时间(Response Time),是指从客户端发一个请求开始计时,到客户端接收到从服务器端返回的响应结果结束所经历的时间。


当我们评价一个网站的"快"和"慢"的时候,其实说的就是他的RT时间的长和短。当我们访问某个网站,有时候我们会说这个网站很"卡”,其实言下之意说的就是这个网站的RT很长。


如果一个网站的RT很长的话,就会特别的影响用户体验。所以,RT是很重要的一个指标。也是各个网站需要重点优化的。


拿一个游乐园的例子来说明一下可能会比较容易理解,比如我们去迪士尼乐园游玩时候,大多数的项目都是需要排队的。


为了让游客知道一个项目需要排队多久才能玩上,迪土尼做了很多事情,比如他们有一个App,专门可以提示每个项目的预计排队时间。再有就是每个项目的排队外都有一个小牌牌,上面写着预计排队时间。


在这里插入图片描述


但是,这个时间并不是凭空设定出来的,而是[计算]出来的。


迪士尼的排队时间计算方法:


1、迪士尼在每个项目的入口处和出口处都会设置工作人员。
2、入口处工作人员随机寻找游客,给游客一张小纸条,上面记录着游客开始排队的时间。
3、入口处工作人员提醒游客,项目游览玩之后,在出口处把小纸条交还给出口处的工作人员。
4、出口处工作人员在收到游客的小纸条后,会用: 当前时间-游客开始排队的时间 = 排队时长。
5、为了尽量让数据准确,一般会收集多个排队时长之后,计算一个亚均值。


以上就是迪士尼的排队时间计算法。其实,这也是RT的计算方法。在一个请求开始的时候记录时间,请求结束的时候再记录时间,两个时间的差值,就是RT了。


迪士尼的一个项目的RT包含了多个时间段: 排队时间、听项目讲解时间、项目准备时间、项目游玩时间等。


服务器响应时间也有多部分组成,一般包含:请求发送时间、网络传输时间和服务器处理时间等三部分。


✔️QPS


QPS,指的是系统每秒能处理的请求数(Query Per Second),在Web应用中我们更关注的是Web应用每秒能外理的request数量。这个是衡量系统性能的重要指标。有时候,我们也称之为吞叶量。


QPS和RT几乎总是成对出现的。当我们评价迪士尼的一个项目的好坏的时候,通常会包含这几个指标: 是否好玩、游玩时长以及可以同时容纳多少人。


这个可以同时容纳多少人,就可以简单的理解为QPS。很大程度上,一个项目同时可以容纳多少人,其实会大大的影响游客的游玩时长。


所以,QPS和RT之间是有着一定的关系的:


RT= 并发数/0PS
OPS= 并发数/RT

虽然上面的等式看上去,在并发数一定的情况下,想要提升QPS的话就只能降低RT。但其实并不是,以上只是QPS的计算方法。想要提升QPS往往有很多手段。


就像想要提升游乐设施的吞叶量,最首先想到的办法就是升级设备,比如增加游乐场地的面积,增加设备的座位数目,增加排队的队伍个数等。


在计算机系统中,想要提升QPS,主要可以在CPU、内存等硬件上面下功夫,比如提升CPU利用率、增加CPU数目、提升内存等。


✔️ QPS和TPS


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


次事务包含了以下三个过程:


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


所以,TPS包含的时长就是三个过程的总和。


那么,TPS和QPS有什么区别呢,区别就在于一次事务的处理中,可能有N次请求,那么TPS就是这N个QPS的总和。


✔️并发用户数


并发用户数指的就是同时跑到一个项目前面排队的人数


在这里插入图片描述

关于并发用户数有两种常见的错误观点。


一种错误观点是把并发用户数量理解为使用系统的全部用户的数量, (比如迪士尼的飞跃地平线项目一天可能会接纳50万人,我们不能说这个50万就是并发用户数)。


还有一种错误观点是把用户在线数量理解为并发用户数量。 (比如晚上六点的时候,迪士尼的飞跃地平线项目排队加观看人数共有1万人,我们不能说这个1万就是并发用户数)。


并发用户数量的正确理解为: 在同一时刻与服务器进行了交互在线用户数量。(我们说,晚上六点的时候,共有8000人正在排排队使用飞跃地平线这个项目。这才是并发用户数)。


拿系统来说,我们说淘宝详情页的并发用户数,其实说的是同一时刻请求查看详情页的用户个数。有些用户虽然也在浏览详情页,但是它并没有在并发时刻和系统有交互,这就不算的。

✔️最佳线程数


最佳线程数指的就是一个项目最多可以容纳的人数,这里的容纳可以包含排队的人数。


在这里插入图片描述


迪士尼每新开一个场馆或者一个游戏项目的时候,都会是一个试运营的阶段。在试运营阶段,通过不断调整并发用户数来观察整个场馆或者项目的运行情况。


除了上线新场馆和新项目以外,有的是在节假日之前也会有一些类似的实验。


这和计算机软件的压测很像。就是不断的提高请求数目,来观察系统的QPS和系统的其他指标,如CPU情况、内存情况等。


性能压测的情况下,起初随着用户数的增加,QPS会上升并对CPU等影响不大,当到了一定的闻值之后,用户数量增加QPS并不会增加,或者增加不明显,同时CPU Load有飙高、内存占用大等情况发生。随之而来的伴随着请求的响应时间大幅增加。这个闻值我们认为是最佳线程数。


如果并发请求数目,超过了系统的最佳线程数,那么就会导致激烈的资源竞争,随着资源的匮乏甚至枯竭,整个系统也就面临着灾难。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2662255.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

软件测试/测试开发丨Selenium环境安装配置

一、selenium 环境配置 1、下载浏览器 目前比较常用的浏览器是 Google Chrome 浏览器,所以本教程以 chrome 为主,后面简介一下其他浏览器的环境配置。 chrome 下载: www.google.cn/chrome/ 2、chromedriver 环境配置 chromedriver 是chromedriver提…

【neo4j】desktop下载

【neo4j】desktop下载 https://neo4j.com/download/ 点击download,填写表格 之后就可以正常使用了

本地搭建微信小程序或者公众号开发服务器的简单方法

现在小程序开发需要购买服务器,价格还是有点贵的,这里好代码网分享一个可以花费小代价就可以搭建一个本地服务器,可以用来开发小程序和微信公众号等。 1.域名(备案过的) 2.阿里云注册免费的https证书 3.配置本地的ngi…

玩转区域流量调配,详细解析GLSB是什么?

在互联网早期,由于网络不是很发达,流量也相对比较小,单体架构已经能足够满足需求。但伴随着互联网越来越,网站的流量请求甚至能达到上千亿。为了实现高可用,需要用到多台机器来提升处理流量的能力。在这种环境下&#…

C++文件操作-文本文件-读文件

示例&#xff1a; #include<iostream> using namespace std; #include<fstream> #include<string> void test01() {//创建文件流ifstream ifs;//打开文件 并判断文件是否打开成功ifs.open("test.txt", ios::in);if (!ifs.is_open()){cout <<…

企业品牌推广在国外媒体投放的意义和作用何在?

海外广告投放是企业在国际市场推广的重要战略&#xff0c;具有多种形式&#xff0c;包括社交媒体广告、短视频广告、电视广告等。这些广告形式在传播信息、推动销售、塑造品牌形象等方面发挥着独特的作用。 其中软文发稿是一种注重叙事和信息传递的广告形式&#xff0c;对于企…

探秘交互设计:深入了解五大核心维度!

交互式设计是用户体验&#xff08;UX&#xff09;设计的重要组成部分。本文将解释什么是交互设计&#xff0c;并分享一些有用的交互设计模型&#xff0c;并简要描述交互设计师通常做什么。 如何解释交互设计 交互式设计可以用一个简单的术语来理解&#xff1a;它是用户和产品…

使用yolov5的2.0分支训练自己的模型并在x3派运行

目录 准备代码、权重、数据集配置环境准备数据标注数据 训练模型转换模型验证模型准备校准数据转换为板上模型模型精度分析 上板 之前训练自己模型的时候使用的是博主 bubbling的1.0分支的代码&#xff0c;博主的 博客比较详细&#xff0c;使用的是VOC2007数据集&#xff0c;…

新能源汽车制造设备状态监测:无线温振传感器的应用

随着全球对环境保护的关注度不断增加&#xff0c;新能源汽车的市场需求正在逐步扩大。而为了满足这一需求&#xff0c;新能源汽车制造企业必须依赖高效、可靠的设备来进行生产制造。然而&#xff0c;设备状态的监测与维护对于保证生产线的稳定运行至关重要。无线温振传感器作为…

win10 telnet服务开启教程

win10 telnet服务开启教程 1、打开控制面板&#xff0c;选择【程序和功能】 2、点击【启用或关闭Windows功能】 3、勾选【Telnet 客户端】,然后点击确定。

英语中修饰头发的形容词顺序是怎么样的(加补充)

一、英语描述发型 :漂亮长短形状颜色头发。 例如她有一头美丽的黑色的直发。She has beautiful long straight black hair.二、多个形容词修饰同一名词时的顺序是固定的&#xff0c;其顺序为&#xff1a;①冠词、指示代词、不定代词、物主代词②序数词基数词③一般性描绘形容词…

MR实战:分科汇总求月考平均分

文章目录 一、实战概述二、提出任务三、完成任务&#xff08;一&#xff09;准备数据1、在虚拟机上创建文本文件2、上传文件到HDFS指定目录 &#xff08;二&#xff09;实现步骤1、创建Maven项目2、添加相关依赖3、创建日志属性文件4、创建学生实体类5、创建科目平均分映射器类…

分享一个qml开发的Dialog

一、效果预览 二、源码分享 PopwindowWidget.qml import QtQuick import QtQuick.Controls import QtQuick.LayoutsApplicationWindow {id:selfwidth: 470height: 250visible: falsecolor: "#00000000"flags: Qt.Tool | Qt.FramelessWindowHint|Qt.MSWindowsFixedSiz…

阿里云数据库polardb怎么收费?

阿里云数据库PolarDB租用价格表&#xff0c;云数据库PolarDB MySQL版2核4GB&#xff08;通用&#xff09;、2个节点、60 GB存储空间55元5天&#xff0c;云数据库 PolarDB 分布式版标准版2核16G&#xff08;通用&#xff09;57.6元3天&#xff0c;阿里云百科aliyunbaike.com分享…

PPT可以转换成电子画册吗

答案是当然可以&#xff0c;PPT是可以转换成电子画册的。电子画册具有3D仿真翻页的效果&#xff0c;而且还可以很好地保存图片和文字信息&#xff0c;并方便在各种设备上查看。 要将PPT转换成电子画册&#xff0c;只需要一个工具就能轻松转换。给大家推荐这款转换工具&#xff…

Linux开发工具——gdb篇

Linux下调试工具——gdb 文章目录 makefile自动化构建工具 gdb背景 gdb的使用 常用命令 总结 前言&#xff1a; 编写代码我们使用vim&#xff0c;编译代码我们使用gcc/g&#xff0c;但是我们&#xff0c;不能保证代码没问题&#xff0c;所以调试是必不可少的。与gcc/vim一样&…

华为发布《智能世界2030》思维导图笔记

华为发布《智能世界2030》思维导图笔记

【VTK-Rendering::Annotation】第一期 vtkCaptionActor2D

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ&#xff1a;870202403 前言 本文分享vtkCaptionActor2D源码解析&#xff0c;希望对各位小伙伴有所帮助&#xff01; 感谢各位小伙伴的点赞关注&#xff0c;小易会继续努力分享&#xff0c;一起进步&#xff01; 你的点赞就是我…

【Redis交响乐】Redis中的通用命令

文章目录 1. 基本命令 get set2. 全局命令(1)keys(2)exists(3)del(4)expire && ttl面试题: redis中key的过期策略是怎么实现的?定时器的实现原理(1)基于优先级队列/堆(2)基于时间轮实现的定时器 (5) type 我们知道,redis是按照键值对的方式存储数据的. Redis中基本的命…

tcp/ip实现两个手机之间连接同步显示

app主界面 选择一&#xff1a;TCP客户端 选择二&#xff1a;TCP服务端 点击下图item时进入曲线绘制页面 如果是服务器端它不需要连任何设备就可以直接进入绘制界面如果是TCP的话就不能直接进入&#xff0c;否则就会提示未连接网络连接不能放在主线程&#xff0c;页面去调方法&…