常见的系统性能指标:QPS、TPS

🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄
🌹简历模板、学习资料、面试题库、技术互助

🌹文末获取联系方式 📝

在这里插入图片描述

系列专栏目录

[Java项目实战] 介绍Java组件安装、使用;手写框架等

[Aws服务器实战] Aws Linux服务器上操作nginx、git、JDK、Vue等

[Java微服务实战] Java 微服务实战,Spring Cloud Netflix套件、Spring Cloud Alibaba套件、Seata、gateway、shadingjdbc等实战操作

[Java基础篇] Java基础闲聊,已出HashMap、String、StringBuffer等源码分析,JVM分析,持续更新中

[Springboot篇] 从创建Springboot项目,到加载数据库、静态资源、输出RestFul接口、跨越问题解决到统一返回、全局异常处理、Swagger文档

[Spring MVC篇] 从创建Spring MVC项目,到加载数据库、静态资源、输出RestFul接口、跨越问题解决到统一返回

[华为云服务器实战] 华为云Linux服务器上操作nginx、git、JDK、Vue等,以及使用宝塔运维操作添加Html网页、部署Springboot项目/Vue项目等

[Java爬虫] 通过Java+Selenium+GoogleWebDriver 模拟真人网页操作爬取花瓣网图片、bing搜索图片等

[Vue实战] 讲解Vue3的安装、环境配置,基本语法、循环语句、生命周期、路由设置、组件、axios交互、Element-ui的使用等

[Spring] 讲解Spring(Bean)概念、IOC、AOP、集成jdbcTemplate/redis/事务等


前言

一个系统的性能,我们通常需要关注哪些指标呢?
不管是作为后端、测试工程师,还是产品,都会关注到系统的流量指标,文本将总结一些常见的性能指标。


1、概念

1.1、 QPS(每秒查询)

QPS(Queries Per Second),即“每秒查询率”,是一台服务器每秒能够响应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,主要针对专门用于查询的服务器的性能指标。
互联网中,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。比如DNS,它不包含复杂的业务逻辑处理,比如数据库中的每秒执行查询sql的次数。QPS 只是一个简单查询的统计显然,不能描述增删改等操作,显然它不够全面,所以不建议用QPS来描述系统整体的性能。

1.2、TPS(每秒事务)

1.2.1、TPS(Transactions Per Second)

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

1.2.2、QPS与TPS区别

  1. 对于一个页面的一次请求反应,形成一个TPS;
  2. 但一次页面请求,可能产生多次对服务器的请求,如访问一个页面会请求服务器2次,一次访问,产生一个“T”,产生2个“Q”。

1.3、RT(响应时间)

RT(Response time),即响应时间,执行一个请求从开始到最后收到响应数据所花费的总体时间,是一个系统最重要的指标之一,它的数值大小直接反应了系统的快慢。

1.4、并发量

并发数是指系统同时能处理的请求数量,这个也是反应了系统的负载能力。

1.5、吞吐量

从业务上来讲,可以理解为应用系统每秒钟最大能接受的用户访问量,或者每秒钟最大能处理的请求数。

1.6、PV(访问量)

PV(Page View), 页面浏览量或点击量,用户每次刷新即被计算一次。

1.7、UV(独立访客)

UV(Unique Visitor),访问您网站的一台电脑客户端为一个访客,当天相同的客户端只被计算一次。


2、吞吐量影响因素

系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间。
相关公式:

  1. Q P S ( T P S ) = 并发数 / 平均响应时间 QPS(TPS)= 并发数 / 平均响应时间 QPSTPS=并发数/平均响应时间
  2. 并发数 = Q P S ∗ 平均响应时间 并发数 = QPS * 平均响应时间 并发数=QPS平均响应时间
    一个系统吞吐量通常由QPS(TPS)、并发数两个因素决定,每套系统这两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统的吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换、内存等等其它消耗导致系统性能下降。

3、相关计算

按二八定律来看,如果每天80%的访问集中在20%的时间里,这20%的时间就叫做峰值时间。
【公式】

  1. 峰值时间每秒请求数 ( Q P S ) = ( 总 P V 数 ∗ 80 % ) ( 每天 24 小时秒数 ∗ 20 % ) 峰值时间每秒请求数(QPS) =\frac{(总PV数*80 \%)}{(每天24小时秒数*20 \%)} 峰值时间每秒请求数(QPS)=(每天24小时秒数20%)(PV80%)
  2. 需要的机器 = 峰值时间每秒 Q P S 单台机器的 Q P S 需要的机器 =\frac{峰值时间每秒QPS}{单台机器的QPS} 需要的机器=单台机器的QPS峰值时间每秒QPS
    【示例】
  3. 每天500wPV的在单台机器上,这台机器需要多少QPS?
    ( 5000000 * 0.8 ) / (86400 * 0.2 ) = 231 (QPS)
  4. 如果一台机器的QPS是58,需要几台机器来支持?
    231 / 58 = 4

资料获取,更多粉丝福利,关注下方公众号获取

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[zabbix] zabbix监控其他

一、温习zabbix自定义监控 二、zabbix 自动发现与自动注册 2.1 zabbix 自动发现 //zabbix 自动发现(对于 agent2 是被动模式) zabbix server 主动的去发现所有的客户端,然后将客户端的信息登记在服务端上。 缺点是如果定义的网段中的主机数…

linux系统忘记mysql忘记密码!!!!

linux系统忘记mysql忘记密码!!!! linux系统忘记mysql忘记密码!!!! 1、切换root 用户 2、切换到、etc/mysql目录 3、使用输入vim debain.cnf查看文件 4、查看用户 debian-sys-maint…

为什么 Golang Fasthttp 选择使用 slice 而非 map 存储请求数据

文章目录 Slice vs Map:基本概念内存分配和性能Fasthttp 中的 SliceMap性能优化的深层原因HTTP Headers 的特性CPU 预加载特性 结论 Fasthttp 是一个高性能的 Golang HTTP 框架,它在设计上做了许多优化以提高性能。其中一个显著的设计选择是使用 slice 而…

Vue3中动态组件使用

一&#xff0c;动态组件使用&#xff1a; 应用场景&#xff1a;动态绑定或切换组件 应用Vue3碎片&#xff1a; is 1.使用 a.组件A <div class"layout-base"><Button>红茶</Button> </div>a.组件B <div class"layout-base"&g…

Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级RTSP服务

技术背景 我们在对接Unity下推送模块的时候&#xff0c;遇到这样的技术诉求&#xff0c;开发者希望在Android的Unity场景下&#xff0c;获取到前后摄像头的数据&#xff0c;并投递到RTMP服务器&#xff0c;实现低延迟的数据采集处理。 在此之前&#xff0c;我们已经有了非常成…

Tessy—嵌入式软件单元测试/集成测试工具

产品概述 Tessy源自戴姆勒—奔驰公司的软件技术实验室&#xff0c;由德国Hitex公司负责销售及技术的支持服务&#xff0c;是一款专门针对嵌入式软件进行单元/集成测试的工具。它可以对C/C代码进行单元、集成测试&#xff0c;可以自动化搭建测试环境、执行测试、评估测试结果并生…

[SS]语义分割——基础知识

语义分割前言 目录 一、定义 1、概念 2、 常见分割任务 3、建筑物提取(Building Footprint Extraction) 二、任务数据 1、数据集格式 2、结果具体形式 三、评价指标与标注 1、评价指标 2、标注工具 一、定义 1、概念 语义分割&#xff08;Semantic Segmentation&…

软件测试|使用Python轻松裁剪视频

简介 裁剪视频是在视频编辑和处理中常见的任务之一&#xff0c;Python提供了多种库和工具&#xff0c;可以用来裁剪视频。在本文中&#xff0c;我们将详细讨论如何使用Python来裁剪视频&#xff0c;并提供示例代码。 步骤1&#xff1a;环境准备 首先&#xff0c;我们要安装必…

Web3去中心化存储:重新定义云服务

随着Web3技术的崭露头角&#xff0c;去中心化存储正在成为数字时代云服务的全新范式。传统的云服务依赖于中心化的数据存储架构&#xff0c;而Web3的去中心化存储则为用户带来了更安全、更隐私、更可靠的数据管理方式&#xff0c;重新定义了云服务的未来。 1.摒弃中心化的弊端 …

IDEA 在本地启动多个 SpringBoot 后端服务模拟集群

目录 方式一&#xff1a;使用 IDEA 界面在多个后端端口运行同一个项目 方式二&#xff1a;通过控制台在运行项目 jar 包时传入端口配置 方式一&#xff1a;使用 IDEA 界面在多个后端端口运行同一个项目 1. 点击 Run / Debug 在默认端口启动项目 2. 点击 Services&#xff0…

群晖NAS搭建WebDav结合内网穿透实现公网访问本地影视资源

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

源码:Spring常规Bean创建过程

Bean创建过程&#xff1a; 一、版本 5.3.10二、学习内容 Bean创建过程源码三、Bean生命周期 时间轴地址&#xff1a;点击 四、bean创建过程脑图总结 脑图地址&#xff1a;点击 五、源码过程 说明&#xff1a; bean创建入口一般都是通过getBean(xxx);方法进入的&#xf…