目录

一、概述

二、指标

1、QPS(Queries Per Second)

2、TPS (Transactions Per Second)

2、RT(Res(onse Time)

3、并发数

4、吞吐量(Throughput)

5、PV(Page View)

6、UV(Unique Visitor)

7、Load(系统负载)

三、结束


一、概述

分布式、微服务、Service Mesh目前都是大家耳熟能详的词语了,现在随便一个互联网公司说出来大家都是在搞微服务。

但我们搞来搞去,怎么样来衡量一个应用当前的状态到底是怎么样的?到底需不需要扩容?是需要横向扩容还是进行项目重构?

这时候我们就需要一堆监控指标来协助我们进行分析当前的应用状态,以便在某些事故发生前进行资源上的调配或优化。

下面咱们就来说道说道这几个重要的指标,一定要记牢,不管面试还是自己用都是必须滴。

要牢记一点,所有的指标都是根据时间单位来算的,比如每秒XX、每分钟XX,要记住这个大前提,下面咱们都按秒来算。

二、指标

1、QPS(Queries Per Second)

概念:服务器每秒处理查询次数,是一台服务器每秒能够处理的查询次数。用户发起查询请求到服务器做出响应这算一次,一秒内用户完成了50次查询请求,那此时服务器QPS就是50。

2、TPS (Transactions Per Second)

概念:服务器每秒处理的事务数,一个事物是用户发起查询请求到服务器做出响应这算一次。纳尼?这难道不是QPS的概念吗?划重点,这里就要说清楚一个概念了,在针对单接口,TPS可以认为是等价于QPS的,如访问 ‘order.html’ 这个页面而言,是一个TPS。而访问 ‘order.html’ 页面可能请求了3此服务器(如调用了css、js、order接口),这实际就算产生了三个QPS

所以,总结下就是,在针对单接口的时候TPS = QPS ,否则QPS就要看实际的请求次数了。

2、RT(Res(onse Time)

概念:响应实际,就是从客户端请求发起到服务器响应结果的时间。RT这个参数是系统最重要的指标之一,它的大小直接反应了当前系统的响应状态。基本和咱们用户体验息息相关,现在好一点监控系统一般都有三个RT,即平均、最大、最小。

一般系统RT 100ms 以内是比较正常的,300ms 勉强可以接受,1s的话再加上一些其他的外因,给用户的体验就是实实在在的不爽了。

3、并发数

概念:系统能同时处理的请求的数量,很多人经常会把并发数和TPS理解混淆。举例,请求一个index.html 页面,客户端发起了三个请求(css、js、index接口),那么此时TPS =1 、QPS =3 、并发数 3。

SO,计算公式 :QPS=并发数/RT || 并发数=QPS*RT

4、吞吐量(Throughput)

概念:每秒承受的用户访问量,吞吐量(系统能承受多少压力)和当前请求对CPU消耗、内存、IO使用等等紧密相关。单个请求消耗越高,系统吞吐量越低,反之越高。

一个系统的吞吐量和其TPS 、QPS、并发数息息相关,每个系统针对这些值都有一个相对极限值,只要其中某一个达到最大,系统的吞吐量也就到达极限了。如此时压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,各种资源切换等等的消耗导致系统性能下降。

关系:

所以,理解上面几个关系后,就可以推算出:

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

5、PV(Page View)

概念:即每个页面的浏览次数,用户每次刷新就算一次。

6、UV(Unique Visitor)

概念:独立访客数,每天访问的用户数,此数据需要根据用户唯一标识进行去重。

7、Load(系统负载)

概念:此数据指的是Linux系统的负载情况,也就是咱们平时所用Top命令时,最上面显示的数据信息( load average: 0.1, 0.2, 0.5)。此时会显示1分钟、5分钟、15分钟的系统平均Load,很显然load average 的值越低,你的系统负荷越小。

简单的说下这个值应该怎么看,如果你是单核cpu,那此值为1的时候就是系统已经满负荷状态了,需要你马上去解决。但实际经验告诉我们,当系统负荷持续大于0.7的时候(也就是70%),就需要你马上来解决问题了,防止进一步恶化。

为什么需要三个值 load average: 0.1, 0.2, 0.5,其实就是给你个参考。比如只有1分钟的是1,其他俩都是0.1,这表明只是临时突发的现象,问题不大。如果15分钟内,系统负荷都是1或大于1,那表明问题持续存在啊。所以你应该主要观察15分钟的系统负荷。

三、结束

好了,简单又开心的概念说完了。可以继续进行我的王者大业了——荣耀王者在等待着我。

高并发中 QPS、TPS、RT、Load、PV、UV都是什么意思!相关推荐

  1. 服务器性能指标(QPS/TPS/RT)

    目录 QPS RPS TPS RT LOAD PV UV RV QPS QPS(Queries per second )每秒查询速率,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,经常 ...

  2. 高并发中的 限流、熔断、降级、预热、背压你都知道是什么意思吗?

    首先,我们需要明确一下这几个名词出现的场景:分布式高并发环境.如果你的产品卖相不好,没人鸟它,那它就用不着这几个属性.不需要任何加成,低并发系统就能工作的很好. 分布式系统是一个整体,调用关系错综复杂 ...

  3. 如何理解高并发中的协程?协程的实现和历史

    <Libco是一个C/C++协程库,在微信服务中广泛使用> <协程到底是什么?> <如何理解高并发中的协程?协程的实现和历史> 目录 普通的函数 从普通函数到协程 ...

  4. 从根上理解高性能、高并发(五):深入操作系统,理解高并发中的协程

    本文原题"程序员应如何理解高并发中的协程",转载请联系作者. 1.系列文章引言 1.1 文章目的 作为即时通讯技术的开发者来说,高性能.高并发相关的技术概念早就了然与胸,什么线程池 ...

  5. 高并发常识:TPS、QPS等

    一.概述 分布式.微服务.Service Mesh目前都是大家耳熟能详的词语了,现在随便一个互联网公司说出来大家都是在搞微服务. 但我们搞来搞去,怎么样来衡量一个应用当前的状态到底是怎么样的?到底需不 ...

  6. 程序员应如何理解高并发中的协程

    来源 | 码农的荒岛求生 责编 | 晋兆雨 头图 | 付费下载于视觉中国 作为程序员,想必你多多少少听过协程这个词,这项技术近年来越来越多的出现在程序员的视野当中,尤其高性能高并发领域.当你的同学.同 ...

  7. 20张图,带你搞懂高并发中的线程与线程池!

    来源 | 码农的荒岛求生 从这篇开始将会开启高性能.高并发系列,本篇是该系列的开篇,主要关注多线程以及线程池. 一切要从CPU说起 你可能会有疑问,讲多线程为什么要从CPU说起呢?原因很简单,在这里没 ...

  8. 高并发中,那些不得不说的线程池与ThreadPoolExecutor类

    摘要:从整体上认识下线程池中最核心的类之一--ThreadPoolExecutor,关于ThreadPoolExecutor的底层原理和源码实现,以及线程池中的其他技术细节的底层原理和源码实现. 本文 ...

  9. 图解 | 看完这篇还不懂高并发中的线程与线程池,你来打我!

    来源 | 码农的荒岛求生 头图 | 视觉中国 一切要从CPU说起 你可能会有疑问,讲多线程为什么要从CPU说起呢?原因很简单,在这里没有那些时髦的概念,你可以更加清晰的看清问题的本质. CPU并不知道 ...

最新文章

  1. html语言剖析,HTML语言剖析(十三) 其他标记
  2. java sql server 存储过程_修改SQL SERVER内置存储过程
  3. c语言 空格_C语言100题集合-ex003
  4. 现男友代言!最强自拍手机荣耀20S正式发布:售价1899元起
  5. 语言的口味(taste)
  6. python中绝对角度是什么意思_Python中的角度转换功能
  7. 游戏测试就天天打游戏?老司机给你深度解惑
  8. 计算机的快速启动栏,电脑快速启动栏不见了
  9. 解决华为手机获取相册图片路径为null
  10. AutoCAD Mac如何安装?看完这篇你就会了~
  11. isNaN()与Number.isNaN()的区别
  12. Retrofit源码分析笔记(一)
  13. Django 使用login函数登陆和注销
  14. android 蓝牙 驱动,转个蓝牙修改帖--Android BCM4330 蓝牙BT驱动调试记录
  15. 诺顿 NIS2012杀毒软件 CPU、内存、磁盘IO占用情况测评
  16. Day68-基于CoolMeeting项目开发的ssm整合流程
  17. 测试工具篇:postman技巧
  18. 支持向量机SVM算法
  19. 神奇!一行代码将Python程序转换为图形界面应用
  20. 阶段一:计数器的仿真实验

热门文章

  1. idea 弹出Server‘s certificate is not trusted 解决方法
  2. 单例设计模式(饿汉式VS懒汉式)
  3. Spring boot集成RabbitMQ(山东数漫江湖)
  4. 假期即将结束,前方道路还很长……CLANNAD,16话,渚就这么香消玉殒了……
  5. Android 蓝牙 搜索周围设备代码流程分析-framework到协议栈流程
  6. mysql报08S01的错误- SQL Error: 0, SQLState: 08S01 偶发
  7. 简历中对技术的描述词汇:了解,熟悉,掌握,熟练,精通
  8. 关于Java的抽象类与接口
  9. dnf压爆服务器挑战网站,dnf手游压爆服务器挑战在哪里?地下城与勇士压爆挑战体验时间介绍[多图]...
  10. windows10 快捷方式右键失灵问题解决