【高性能】什么是QPS、RT?

简介: QPS指系统每秒处理请求数,RT为响应时间,二者是衡量Web性能的核心指标。RT影响用户体验,QPS反映系统吞吐能力,两者密切相关。通过优化硬件或架构可提升QPS、降低RT,从而提高系统性能。

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 = 并发数/QPS
QPS = 并发数/RT

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

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

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

目录
相关文章
|
3月前
|
架构师 微服务
【架构师】微服务的拆分有哪些原则?
微服务拆分需遵循七大原则:职责单一、围绕业务、中台化公共模块、按系统保障级别分离、技术栈解耦、避免循环依赖,并遵循康威定律使架构与组织匹配,提升可维护性与协作效率。
326 4
|
3月前
|
消息中间件 架构师 Kafka
【架构师】如何做技术选型?
技术选型无绝对优劣,关键在于“更合适”。需综合评估功能满足度、可扩展性、安全性、性能等非功能性需求,同时考量使用人数、社区活跃度、迭代速度、学习与维护成本,以及与现有技术体系的匹配度,权衡利弊后做出最优选择。
173 4
|
2月前
|
Java 应用服务中间件 Maven
Spring Boot开发环境搭建和项目启动
本节讲解JDK配置、Spring Boot工程构建与启动,以及项目结构分析。涵盖IDEA中JDK、Maven、编码设置,快速创建Spring Boot项目,并介绍目录结构及简单Controller测试,助你快速上手开发。
|
3月前
|
Prometheus 监控 Cloud Native
【经典面试场景题】线上服务器如果磁盘满了,你会如何处理?
线上服务器磁盘满将导致服务异常,需立即处理。首先通过 `df -h` 和 `du -sh /*` 定位占用空间大的目录,清理临时文件与大日志文件,可清空而非删除正在使用的日志。使用 `find / -size +1G` 查找大文件,释放空间。长期应配置日志轮转、磁盘监控告警、定期清理脚本,并分离系统、数据与日志分区,避免再次打满。
192 0
|
3月前
|
easyexcel Java 数据库连接
如何实现百万级数据从 Excel 导入到数据库?
本文介绍百万级Excel数据导入数据库的优化方案,涵盖内存溢出、性能瓶颈与错误处理三大问题。通过EasyExcel流式读取避免内存溢出,结合多线程并发读取多个sheet,并利用生产者-消费者模式提升处理效率。采用批量插入与事务管理提高数据库写入性能,同时设计数据校验、重试机制与日志记录保障容错性,确保大规模数据导入稳定高效。
319 0
|
3月前
|
消息中间件 架构师 Java
【Java架构师】各个微服务之间有哪些调用方式?
微服务拆分后需跨进程通信,常见方式包括HTTP调用(如RESTful、OpenFeign、@HttpExchange)、RPC框架(如Dubbo、gRPC、Thrift)、消息队列(如Kafka、RabbitMQ)及服务网格(如Istio)。不同场景下可依据性能、异步、跨语言等需求选择合适方案。
710 0
|
3月前
|
数据采集 传感器 运维
T-BOX怎么选不踩坑?2025年主流品牌评测与推荐指南
在工业设备智能网联化加速背景下,T-BOX选型成关键。本文基于实测与应用反馈,解析2025年主流品牌表现,聚焦树根科技T-BOX方案:硬件多型号适配、软硬一体协同、平台易用性强、全球合规认证齐全,助力企业实现设备远程管理、预防性维护与全球化部署,提供高性价比、低运维成本的数智化路径,是避免数据孤岛、提升资产效率的优选参考。
190 0
|
安全 Linux 网络安全
Centos7安装Docker
Centos7安装Docker
1191 0