高并发环境下qps计算

2023-11-16

最近在研究阿里的一些中间件,最近看到了sentinel,由于和我们现在使用的统计-判断-预警-熔断有点类似,所以就深入了源码细看了一下,不看不要紧,一看吓一跳。我们现在的熔断的粒度是分钟级别的,没想到sentinel可以精细到任何级别,甚至是毫秒。我们姑且就按秒来说吧,一对比,就不是一个级别的了。


不说我们之前的架构了,还是说一下阿里sentinel使用的qps计算方法吧,给我印象最深刻的地方就是qps的计算模式了。


大家要知道,按qps为2000来算,每一毫秒就要有2个请求要处理,如果为了获取qps和并发环境下为了数据正确而加锁处理,那么会耗费很大的cpu资源。

而且若按curtime%1000作为key来统计请求数的话,假如当前时间为200ms,那么取得的qps则很有可能是总量的20%,那么肯定是不行的。

其实就是这么一个文件 https://github.com/Netflix/Hystrix/blob/master/hystrix-core/src/main/java/com/netflix/hystrix/util/HystrixRollingNumber.java


分片

首先sentinel采用的方法就是把一段时间分成若干片,如把1s分成10片,那么每片统计当前100ms内的数据,然后当前qps则为当前分片往前推10格,再求和,即为当前的qps。


那么问题来了,在分片的交接时刻,需要为新的分片创建对应的对象,若不加控制的话,直接加锁,会导致所有的线程等待(只有一个线程去创建当前bucket)。但s

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

高并发环境下qps计算 的相关文章

  • Android Design Support Library

    1 Navigation View 对于应用程序 xff0c 它代表着一个标准的导航菜单 菜单内容可以由菜单资源文件填充 NavigationView通常放在一个DrawerLayout里面 lt xml version 61 34 1 0
  • Android Design Support Library使用详解

    Android Design Support Library使用详解 Google在2015的IO大会上 xff0c 给我们带来了更加详细的Material Design设计规范 xff0c 同时 xff0c 也给我们带来了全新的Andro
  • 记一次性能优化,单台4核8G机器支撑5万QPS

    前言 这篇文章的主题是记录一次Python程序的性能优化 xff0c 在优化的过程中遇到的问题 xff0c 以及如何去解决的 为大家提供一个优化的思路 xff0c 首先要声明的一点是 xff0c 我的方式不是唯一的 xff0c 大家在性能优
  • Ant Design Blazor表格高度自适应

    Ant Design Blazor表格高度自适应 一 先导入js 在 Host cshtml导入js lt component type 61 34 typeof App 34 render mode 61 34 ServerPrerend
  • 打开AS提示错误弹框缺少com.android.tools.design.org.jetbrains.android插件

    打开AS提示错误弹框缺少com android tools design org jetbrains android插件 今个准备升级一下AS来着 xff0c 然后出现了这个问题 xff0c 原因是我屏蔽了Kotlin插件 解决方法 xff
  • Quartus17报错Top-level design entity “dff“ is undefined的解决办法

    报错原因没写但可以根据上一条警告可以知道 xff0c 和Quartus中dff模块 primitive 冲突了 解决办法 xff1a 修改顶层文件名字 xff0c 并设置为顶层文件 xff0c 再重新编译 同步复位D触发器的RTL视图 mo
  • Design Patterns Elements of Reusable Object-Oriented Software(一)Introduction(介绍)

    1 Introduction xff08 介绍 xff09 Designing object oriented software is hard and designing reusable object oriented software
  • React 使用Ant Design组件2020年11月

    今天同事问我一个问题 xff0c 说他搭的ant项目样式错乱 我去看了一下 xff0c 愣是看了半天没发现问题原因 最终后来才发现是Ant Design组件配置的问题 我不得不在这里吐槽一下And Design这篇文档https mobil
  • ant-design-vue 日期组件国际化

    在入口文件main js中 import moment from 39 moment 39 import 39 moment locale zh cn 39 moment locale 39 zh cn 39 其中moment函数可以将日期
  • Vivado中备份设计好的block design

    参考链接 https blog csdn net dimples song article details 81391615 前言 为了不每次都重新生成block design 避免重复劳动 可以使用直接复制原始工程的design bd块或
  • LightPC: Hardware and Software Co-Design for Energy-Efficient Full System Persistence(论文阅读翻译)

    xff08 注 xff1a 课程作业要求 xff0c 机翻自己看的 xff09 Abstract 我们提出了LightPC xff0c 一种轻量级的持久性中心平台 xff0c 以使系统对电源故障具有鲁棒性 LightPC由硬件和软件子系统组
  • 【Vue】组件ant design of vue

    文章目录 安装项目引入全局组件常见问题关键字避免处理校验异常es link栈溢出ant图库未加载 git追加到上一次提交文件 简单使用自定义组件 header列表加any问题ts类型 图标iocn 安装 span class token f
  • Top-down Design简介

    自顶向下 xff0c 逐步求精的方法 在英文中称作Top down Design xff0c 是一种计算机编程使用的算法思想 xff0c 顾名思义 xff0c 这种方法的思想就是对现在遇到的复杂或者抽象化的问题 xff0c 进行纵向深入分解
  • Ant Design setFieldsValue 无效问题

    老是发现setFieldsValue 第一次点编辑某一列时候不会加载成功 xff0c 第二次点进去加载的是第一次的值 也是坑啊 最后网上都说延迟执行 就写了延迟0 1秒 果然可以 但是感觉有点傻缺 等待大神给出更好的方案
  • Design Patterns Elements of Reusable Object-Oriented Software(一)Introduction(介绍)

    1 Introduction xff08 介绍 xff09 Designing object oriented software is hard and designing reusable object oriented software
  • Design1.CMOS工艺OD门,传输门,三态门原理应用浅析

    纲要 OD门 传输门 三态门 1 OD门 i 概念 在CMOS电路中为了满足输出电平变换 吸收大负载电流以及实现线与连接等需要 需要将输出级电路结构改为漏极开路输出的MOS管 构成漏极开路输出 Open Drain Output 门电路 简
  • Photoshop 通道讲解

    我常常问我的学生 什么是Photoshop最重要 不可或缺的功能 很多人的回答是图层 Layer 其实在Photoshop3 0之前根本没有图层的功能 在Photoshop的领域中 最重要的功能是选取范围 正确的运用选取范围 才能够做出精准
  • 如何设计一个秒杀系统

    什么是秒杀 秒杀场景一般会在电商网站举行一些活动或者节假日在12306网站上抢票时遇到 对于电商网站中一些稀缺或者特价商品 电商网站一般会在约定时间点对其进行限量销售 因为这些商品的特殊性 会吸引大量用户前来抢购 并且会在约定的时间点同时在
  • 什么是TPS,什么是QPS,区别是什么?

    一 TPS Transactions Per Second 每秒传输的事物处理个数 即服务器每秒处理的事务数 TPS包括一条消息入和一条消息出 加上一次用户数据库访问 业务TPS CAPS 每个呼叫平均TPS TPS是软件测试结果的测量单位
  • 高并发环境下qps计算

    最近在研究阿里的一些中间件 最近看到了sentinel 由于和我们现在使用的统计 判断 预警 熔断有点类似 所以就深入了源码细看了一下 不看不要紧 一看吓一跳 我们现在的熔断的粒度是分钟级别的 没想到sentinel可以精细到任何级别 甚至

随机推荐

  • STL--map的应用

    STL之map的应用 map定义及用途 map翻译为映射 是STL中的常用容器 其实 数组就是一种映射 比如 int a 100 就是定义了一个int到int的映射 而a 5 25 就是把5映射到25 数组总是将int类型映射到其它基本类型
  • oracle优化-----监控指标

    author skatetime 2010 03 24 昨天一个朋友问我 如何优化数据库 在想优化数据库前 首先要确认数据库是否需要优化 这就需要一些监控指标了 如 事务响应时间 数据库的逻辑读 数据库的物理读 物理写等 日常监控这些指标
  • GetProcAddress错误码127

    表现为明明loadLibrary GetProcAddress就是拿不到地址 原因是C语言的函数使用C 编译时需要加上extern C 转载于 https www cnblogs com Jacket K p 11574624 html
  • 十个经典免费软件和五★级网站!

    十个经典免费软件和五 级网站 软件非常实用 都是 免费版本 ghost 诺顿杀毒 等经典软件哪里皆可下载到 就没列出 推荐的网站则是very出色实用 lt 一 gt 软件 1 代理甭猎手 v1 0 179 KB 绿色 推荐指数 介绍 全称是
  • 【目标检测之数据集预处理】继承Dataset定义自己的数据集【附代码】

    在深度学习训练中 除了设计有效的卷积神经网络框架外 更重要的是数据的处理 在训练之前需要对训练数据进行预处理 比如在目标检测网络训练中 首先需要划分训练集和测试集 然后对标签 边界框等进行处理后才能送入网络进行训练 本文章以VOC数据集格式
  • 【设计模式学习】11种高频设计模式之建造者模式

    文章目录 相关介绍 代码介绍 常规用法 静态内部类方法 系列文章目录 参考资料 相关介绍 1 定义 将一个复杂对象的构建与它的表示分离 使得同样得构建过程可以创建不同得表示 2 作用 在用户不知道对象得建造过程和细节的情况下就可以直接创建复
  • MySQL server has gone away

    一 可能是mysql连接超时 原因 mysql长连接时 很长时间没有新的请求发起到达服务端 当这个时间超过配置的最大超时时间时 mysql就会强行关闭链接 此后再通过这个connection发起查询的时候 就会报错server has go
  • WiFiAssistant 无线承载网络设置助手的开发历程(一)

    今年6月中旬 我曾经基于MFC写过一个WiFiHelper的小程序 开启和关闭虚拟WiFi 并且能够支持定时关机 当然 真正使用虚拟WiFi还需要手动设置共享 并且 由于我的是台式机 所以并没有去升级WiFiHelper 估计是即将毕业的缘
  • 【English】十大词性之连词

    连词 文章目录 连词 前言 一 并列连词 1 1 表并列关系的并列连词 2表示选择关系的并列连词 3 表示转折关系的并列连词 4 表示因果关系的并列连词 二 从属连词 总结 前言 连词是一种虚词 在句中起连接作用 可以用来连接单词 短语 从
  • 16个车辆信息检测数据集收集汇总(简介及链接)

    16个车辆信息检测数据集收集汇总 简介及链接 目录 1 UA DETRAC 2 BDD100K 自动驾驶数据集 3 综合汽车 CompCars 数据集 4 Stanford Cars Dataset 5 OpenData V11 0 车辆重
  • Python—使用tkinter制作一个小时钟

    网上搬运的 自己又调试了一下 分享一下 coding utf 8 from tkinter import import math time def points for i in range 1 13 x 200 130 math sin
  • 矩阵的广义逆及python实践

    机器学习的代码中经常有求矩阵的广义逆 本文先从概念上总结了矩阵的广义逆 然后用python的numpy库实践 概念 矩阵的广义逆 Generalized inverse 也称为伪逆 pseudo inverse 假设一个矩阵 及另一矩阵 若
  • Unity学习记录——物理系统与碰撞

    Unity学习记录 物理系统与碰撞 前言 本文是中山大学软件工程学院2020级3d游戏编程与设计的作业6 编程题 简单打飞碟 物理引擎改进版 1 题目要求 改进飞碟 Hit UFO 游戏 游戏内容要求 按adapter模式设计图修改飞碟游戏
  • vivado bram 参数设置

    1 no output registers 没有reg 在同一周期内即可读出数据 2 at the output of the primitive output register 加了一层reg 数据读出延迟了一个周期 3 REG2 is
  • 处理器流水线深度问题

    正面意义 流水线的级数越多 意味着流水线切得越细 每一级流水线内容纳的硬件逻辑便越少 在两级寄存器 每一级流水线由两个寄存器组成 之间的硬件逻辑越少 则处理器能够达到更高的主频 因此现代处理器的流水线极深主要是处理器追求高频的指标所驱使 负
  • 聚类效果评价——Silhouette Coefficient(轮廓系数)——内部评估标准(1)

    公式与简介 Rousseeuw Peter J Silhouettes a graphical aid to the interpretation and validation of cluster analysis Journal of
  • android UI到系统揭秘

    一文读懂 View 的 Measure Layout Draw 流程 https juejin cn post 6939540905581887502 heading 16 scheduleTraversals gt scheduleTra
  • 基于Java+Spring+mybatis+vue+element实现酒店管理系统

    博主介绍 全网粉丝20W csdn特邀作者 博客专家 CSDN新星计划导师 java领域优质创作者 CSDN博客之星TOP100 掘金 华为云 阿里云 InfoQ等平台优质作者 专注于Java技术领域和毕业设计 文末获取联系 精彩专栏推荐
  • ChatGPT懂SAP吗?跟ChatGPT聊完后,我暂时还不担心会被它取代岗位

    我弄了个ChatGPT账号 随便问了一下他SAP的问题 它的回答还是比较有意思的 贴出来跟大家分享一下 问题1 我是 SAP 开发工程师 你有什么可以帮到我 作为一个语言模型 我可以为您提供关于SAP开发的一般性建议 以及关于如何使用SAP
  • 高并发环境下qps计算

    最近在研究阿里的一些中间件 最近看到了sentinel 由于和我们现在使用的统计 判断 预警 熔断有点类似 所以就深入了源码细看了一下 不看不要紧 一看吓一跳 我们现在的熔断的粒度是分钟级别的 没想到sentinel可以精细到任何级别 甚至