【6-1:全链路压测】

全链路压测

  • 1. 背景
    • QPS等概念
    • 最佳线程数
    • 1.1 什么是全链路压测?
    • 1.2 全链路压测解决了什么问题?
    • 1.3 全链路压测创造了什么价值?
    • 1.4 与传统方式的对比
    • 1.5 如何展开全链路压测
      • 业务模型梳理
      • 数据模型构建
      • 压测工具选型
  • 2. 全链路整体架构
    • 2.1 核心技术
    • 2.2 涉及的业务问题
    • 2.3 框架实现
      • 2.3.1 流量染色方案
        • 流量识别
        • tomcat线程池复用问题
        • fegin传递染色标识
        • Hystrix传递染色体标识
      • 2.3.2 RabbitMQ 数据隔离

1. 背景

最早是阿里提出来的,天猫双十一…

QPS等概念

  • QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数
  • TPS:是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。
  • RT(Response-time):响应时间:执行一个请求从开始到最后收到响应数据所花费的总体时间,即从客户端发起请求到收到服务器响应结果的时间
  • 并发数是指系统同时能处理的请求数量,这个也是反应了系统的负载能力。
  • 系统的吞吐量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。单个request 对CPU消耗越高,外部系统接口、IO速度越慢,系统吞吐能力越低,反之越高。系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间。
    • QPS(TPS):(Query Per Second)每秒钟request/事务 数量
    • 并发数:系统同时处理的request/事务数
    • 响应时间:一般取平均响应时间
      QPS = 并发数/平均响应时间
  • 实际举例
    1. 如果每天80%的访问集中在20%的时间里,那么这20%的时间就叫做峰值时间
    2. 公式:峰值时间每秒请求数QPS=总PV数0.8 / 每天秒数0.2
    3. 每天300w PV 的在单台机器上,这台机器需要多少QPS?
      • ( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS)
    4. 如果一台机器的QPS是58,需要几台机器来支持?
      • 139 / 58 = 3

最佳线程数

  1. 单线程QPS公式:QPS=1000ms/RT
    • 对同一个系统而言,支持的线程数越多,QPS越高。假设一个RT是80ms,则可以很容易的计算出QPS,QPS = 1000/80 = 12.5
  2. 多线程场景,如果把服务端的线程数提升到2,那么整个系统的QPS则为 2*(1000/80) = 2<

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

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

相关文章

论文 | Chain-of-Thought Prompting Elicits Reasoningin Large Language Models 思维链

这篇论文研究了如何通过生成一系列中间推理步骤&#xff08;即思维链&#xff09;来显著提高大型语言模型进行复杂推理的能力。论文展示了一种简单的方法&#xff0c;称为思维链提示&#xff0c;通过在提示中提供几个思维链示例来自然地激发这种推理能力。 主要发现&#xff1…

SDIO CMD 数据部分 CRC 计算规则

使用的在线 crc 计算工具网址&#xff1a;http://www.ip33.com/crc.html CMD CRC7 计算 如下图为使用逻辑分析仪获取的SDIO读写SD卡时&#xff0c;CMD16指令发送的格式&#xff0c;通过逻辑分析仪总线分析&#xff0c;可以看到&#xff0c;该部分的CRC7校验值得0x05,大多数情况…

MySQL之基本查询(上)-表的增删查改

目录 Create(创建) 案例建表 插入 单行数据 指定列插入 单行数据 全列插入 多行数据 全列插入 插入是否更新 插入时更新 替换 Retrieve(读取) 建表插入 select列 全列查询 指定列查询 查询字段为表达式 为查询结果指定别名 结果去重 where条件 比较运算符 逻辑运…

FineReport报表开发步骤

FineReport是一款功能强大的报表开发工具&#xff0c;它支持数据展示和数据填报功能&#xff0c;通过FineReport可以帮助用户快速开发出各种类型的中国式报表&#xff0c;如表格、图表、图形以及数字大屏等。 主要开发步骤&#xff1a;‌ 安装FineReport&#xff1a;首先报表开…

墨烯的C语言技术栈-C语言基础-010

十.选择语句和循环语句 如果你好好学习,校招时拿一个好offer,走上人生巅峰 如果你不学习,毕业等于失业,回家卖红薯 这就是选择结构 int main() { int input 0; printf("加入C语言\n"); printf("要好好学习吗(1/0)?"); scanf("%d",&input…

昇腾APN最佳伙伴—英码科技AI算力计算产品亮相WAIC 2024

2024年7月4日-7日&#xff0c; “以共商促共享&#xff0c;以善治促善智”为主题的2024世界人工智能大会暨人工智能全球治理高级别会议&#xff08;WAIC&#xff09;在上海世博展览中心隆重举行。国务院总理李强出席开幕式并致辞。来自50多个国家和地区的1300位全球领军人物、展…

ORB-SLAM2应用场景

ORB-SLAM2作为一种基于单目、双目和RGB-D相机的实时视觉SLAM&#xff08;Simultaneous Localization and Mapping&#xff0c;即同时定位与地图构建&#xff09;系统&#xff0c;具有广泛的应用场景。以下是一些主要的应用场景&#xff1a; 自动驾驶 ① 车辆导航&#xff1a;…

分享:Motionity-开源的Web端动画编辑器

Motionity是一个免费且开源的Web端动画编辑器&#xff0c;它结合了After Effects和Canva的优点&#xff0c;为用户提供了强大的动画编辑功能。支持视频剪切、图像搜索过滤、文本动画库、图层蒙版等功能。 一、项目背景与特点 开源项目&#xff1a;Motionity是一个开源项目&…

utf8mb4和utf8的不同、若依框架,代码生成器,gitee,前端vue的下载、修复和启动(寻求大佬帮助若依框架三、2.3)

2024.7.9 一、数据库的排序和统一问题。utf8mb4和utf8的不同1.1 发现问题1.2 解决问题-在idea中用sql生成器&#xff0c;生成sql语句&#xff0c;然后在里面修改1.3 utf8和utf8mb4的区别 二、若依前后端框架。代码生成器&#xff08;还没研究懂&#xff0c;但有三个方案&#x…

重塑智慧生活想象 Yeelight易来举行2024年战略及新品发布会圆满成功

7月9日&#xff0c;智能照明品牌Yeelight易来在广州举行“光为境和无界”——2024年Yeelight易来战略&新品发布会&#xff0c;此次发布会不仅展示了易来在新的一年中取得的显著业绩增长&#xff0c;还发布了多款引领行业潮流的智能新品。同时&#xff0c;发布会还邀请了权威…

如何学好C++?

首先&#xff0c;对于零基础的想学习C的同学&#xff0c;我想要你们先明白一件事&#xff1a;C是一门极为复杂且难以掌握的编程语言。因此推荐在学习C之前可以先去学习C语言&#xff0c;在拥有了一定的知识储备和编程能力后再学习C会更加的高效和相对轻松。 下面推荐从三个方面…

Python题解Leetcode Hot 100之栈和堆

栈 1. 有效的括号 题目描述 给定一个只包括 ‘(’&#xff0c;‘)’&#xff0c;‘{’&#xff0c;‘}’&#xff0c;‘[’&#xff0c;‘]’ 的字符串&#xff0c;判断字符串是否有效。有效字符串需满足&#xff1a;左括号必须用相同类型的右括号闭合&#xff0c;左括号必须…

【Lua】元表使用示例

在Lua中&#xff0c;元表(metatable)是一种强大的机制&#xff0c;允许你改变表的行为。通过元表&#xff0c;你可以控制表的操作&#xff0c;比如访问、赋值、运算等。元表提供了一个灵活的方法来重载或扩展Lua的内建行为。 1. 元表的基本概念 元表本质上是一个表&#xff0…

gitee及git的简单使用、下载教(保姆级教程)

前言&#xff1a; GitHub&#xff0c;一个由外国研发的代码开源网站&#xff0c;我们可以通过它获得别人优秀的项目源码&#xff0c;也可以在上面上传自己的劳动成果。但是&#xff0c;我们很难访问外网。于是&#xff0c;我们将目光转向国内一个类似的网站---码云&#xff08…

静态路由配置注意事项及黑洞路由的使用

静态路由 1 . 定义 从管理员处学习到的数据转发路径&#xff0c;就称为静态路由。 2 . 路由表 Proto &#xff1a;协议&#xff08; Protocol &#xff09; Direct — 直连链路Static — 静态路由RIP 、OSPF 等 — 动态路由 Pre : 优先级&#xff08; Preference &#x…

设计模式之职责链模式(Chain of Responsibility Pattern)

1.概念 职责链模式&#xff08;Chain of Responsibility Pattern&#xff09;&#xff1a;避免将请求发送者与接收者耦合在一起&#xff0c;让多个对象都有机会接收请求&#xff0c;将这些对象连接成一条链&#xff0c;并且沿着这条链传递请求&#xff0c;直到有对象处理它为止…

搞清楚[继承],易如反掌

穷不失义&#xff0c;达不离道。——孔丘《论语》 继承 1、简单理解2、继承2、1、继承的概念2、2、继承定义2、3、基类和派生类对象赋值转换2、4、继承中的作用域2、5、派生类默认成员函数2、6、继承中的特点2、6、1、友元2、6、2、静态成员2、6、3、菱形继承及菱形虚拟继承 3、…

大数据平台权限之ACL

在 Hadoop 3 中&#xff0c;访问控制列表 (ACL) 是一种权限管理机制&#xff0c;用于更细粒度地控制用户对 HDFS&#xff08;Hadoop Distributed File System&#xff09;文件和目录的访问权限。ACL 允许你为文件和目录指定传统 Unix 权限模型之外的用户和组权限。 以下是 Had…

html H5 dialog弹窗学习,实现弹窗显示内容 替代confirm、alert

html H5 dialog弹窗学习,实现弹窗内容 替代confirm 框架使用的mui,使用mui.confirm() 弹窗内容过多时,弹窗被撑的到屏幕外去了,使用H5 dialog 标签自定义一个固定大小的弹窗,内容过多时可下拉显示 效果展示 隐私政策内容很多,可以下拉显示 代码 myDialog.css dialog{p…

【Linux】【开发】Linux内核及用户态程序异常问题的查证方法

&#x1f41a;作者简介&#xff1a;花神庙码农&#xff08;专注于Linux、WLAN、TCP/IP、Python等技术方向&#xff09;&#x1f433;博客主页&#xff1a;花神庙码农 &#xff0c;地址&#xff1a;https://blog.csdn.net/qxhgd&#x1f310;系列专栏&#xff1a;Linux技术&…