微服务架构 | 实战常见数据

INFDEX

      • 压测参考值(180C)
      • 线程池
      • Qps/Tps

压测参考值(180C)

时长TPSTPS极限TP性能TP极限并发CPU负载
一般接口5min500200050/100ms120ms1->10/3040%
缓存接口5min5000200007/20ms10/25ms1->2/440%
一般写接口
关键写接口

线程池

使用原则

  • 尽量避免使用公共线程池:假设有两种任务 A/B 共用线程池,若 A 处理逻辑故障可能导致用尽线程池,最终影响了 B 任务
  • 线程池监控覆盖不到位:线程池是系统运行时关键资源,应当对线程数、等待队列数等进行监控
  • 正确设置线程池参数:线程池最大线程数、队列长度等参数需要经过多次压测并调整至核实的数值

最佳实践

  • 通过线程池管理线程:避免频繁创灭线程造成系统开销
  • 线程命名规范:指定具有业务含义的线程名(前缀),以方便排查问题
  • 线程池参数设置:创建线程池时应手动显示指定如下关键参数,并经过多次压测
    • 初始线程数/最大线程数:
      • 通常根据压测数据指定,初步估计可用系统容量估算,或 ≥ T P S ∗ T P ∗ 1.2 n o d e C o u n t \ge\frac{TPS*TP*1.2}{nodeCount} nodeCountTPSTP1.2(TP换算成秒)
      • 估算后的数据需要经过压测验证
      • 通常情况下,初始线程数 == 最大线程数
    • 任务队列最大长度
      • 设置过小影响线程池可用度,设置过大则可能在异常时诱发频繁 GC
      • 可以考虑通过混沌演练找到合适的值
    • 任务队列满后拒绝策略:丢弃,并增加兜底逻辑
  • 线程池隔离机制:频率较少并且稳定的任务,可以按强依赖/弱依赖、CPU密集/IO密集、长任务/短任务、高优先级/低优先级等划分各自的线程池
  • 线程池监控机制:通常包括当前线程数、队列积压任务数、拒绝次数等,以便故障时快速定位
  • 并发任务超时设置:妥善设置超时,并遵照漏斗法则
  • 线程上下文使用风险:线程回归资源池时,清理线程使用的上下文,防止其他请求读到脏数据

Qps/Tps

  • mysql:1500
  • reids:10w+
  • kafka:100w+

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

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

相关文章

3月6日做题总结(C/C++真题)

星光不负赶路人,时光不负追梦人!多一份努力,多一份成功的机会! 第一题 int a, b, x, i; a 3; b 4; i 3; x a > b ? i : i--; x的值为() A---2 B---3 C---4 D---5 正确答案:B 解…

【射频连接器】SMB/SMC 同轴连接器

阻抗为 50 欧姆的 Connex SMB/SMC 超小型同轴连接器适用于 4 GHz (SMB) 或 10 GHz (SMC) 的应用。这些连接器通常比 SMA 便宜,主要用于微波电话和其他非国防电信要求的应用。 SMB 连接器具有快速连接/断开卡扣式配接功…

LoadRunner VS RunnerGo:主流性能测试工具对比谁更胜一筹?

LoadRunner作为性能测试工具的开拓者,测试人员应该都听过,可能也用过,相比较后起之秀Jmeter,使用场景更趋于企业级的性能测试,不太适合个人使用。 RunnerGo呢,是一款基于Go语言、国产自研的测试平台。它支…

Rust 库是如何根据 features 实现相关 Trait 的?

看下面配置文件中的依赖库说明: [dependencies] serde { version "1", features ["derive"] } serde_json "1" chrono { version "0.4", features ["serde"] }serde 是如何实现 derive 相关 Trait 的&…

宠物空气净化器值得入手吗?选购宠物空气净化器关注哪些方面?

一开始养猫时,每天看着可爱的猫咪在家里快乐奔跑,让人心情愉悦。然而,作为铲屎官都知道,猫咪会掉毛,特别是在换毛期间,地板、沙发上都会有一大堆猫毛,甚至衣服也可能沾满猫毛。养猫家庭中&#…

宠物空气净化器值得不值得买?各品牌宠物空气净化器怎么选?

随着越来越多的家庭选择养宠物,我们也面临着宠物环境卫生和家庭生活舒适度的问题。根据一项调查显示,有70%的养猫家庭中的铲屎官曾经遭受过猫藓或猫毛过敏、鼻炎等问题的困扰。尤其是对于家中有老人、小孩和孕妇等免疫力较低的人来说,他们的抵…

2024/3/7打卡公共子序列---动态规划问题

题目: 给定两个长度分别为 N 和 M 的字符串 A 和 B,求既是 A 的子序列又是 B 的子序列的字符串长度最长是多少。 输入格式 第一行包含两个整数 N 和 M。 第二行包含一个长度为 N 的字符串,表示字符串 A。 第三行包含一个长度为 M 的字符串&am…

uniapp聊天页面之消息滚动

目录 1、HTML部分 2、 Js部分 3、注意,滚动方法调用 1、HTML部分 用整个scroll-view的高度减去所有聊天内容的高度,得到的就是滚动条需要下拉的距离,即可使聊天页下拉至最底部。 需要给 scroll-view一个固定的高度,并获取消息…

Java解决IP地址无效化

Java解决IP地址无效化 01 题目 给你一个有效的 IPv4 地址 address,返回这个 IP 地址的无效化版本。 所谓无效化 IP 地址,其实就是用 "[.]" 代替了每个 "."。 示例 1: 输入:address "1.1.1.1" 输出…

算法-删除有序数组中的重复项

Q:给你一个有序数组nums ,请你原地删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成。 第一种解决方法&a…

高质量的外贸开发信标题都是怎样的?

今天在网上看到很多不错的开发信标题,觉得不错,收藏起来分享给大家学习。 标题是吸引读者打开邮件的第一印象,对于外贸销售人员来说,精心撰写开发信标题至关重要。客户收到的邮件那么多,那么在客户收件箱中的5至20个客…

vue项目如何禁止屏幕缩放,vue项目进行浏览器进行缩放

第一步 找到 html 文件 &#xff0c;在head中添加一行属性代码 <meta name"viewport" content"widthdevice-width,initial-scale1.0 ,maximum-scale1.0, user-scalable0">第二步 找到 App.vue 文件 &#xff0c;在 script 模块中 添加下方代码 // …

几个市场主流伦敦银交易系统简介

很多人在伦敦银交易中都希望建立一个交易系统&#xff0c;依靠这个系统&#xff0c;我们在市场中能够建立稳定盈利的基础。下面我们就来简单地介绍几个市场主流的伦敦银交易系统。 均线交易系统。这是很多人使用的伦敦银交易系统&#xff0c;一般适用于趋势行情中。均线交易系统…

如何定期跟踪和评估OKR的进度

设定跟踪周期 根据公司的实际情况和需要&#xff0c;设定合适的OKR跟踪周期。这个周期可以是每周、每月或每季度&#xff0c;以便及时了解OKR的进展情况。 使用进度图表 利用进度图表来可视化OKR的完成情况。这可以帮助团队更直观地了解目标的进度和剩余任务量&#xff0c;以…

uniapp直接连接wifi(含有ios和安卓的注意事项)

前言 小程序中直接连接wifi-----微信小程序 代码 启动 //启动wifistartWifi() {return new Promise((resolve, reject) > {uni.startWifi({success: (res) > {console.log(启动wifi 成功, res)resolve(true)},fail: (err) > {console.error(启动wifi 失败, err)uni.s…

【机器学习】【决策树】分类树|回归树学习笔记总结

决策树算法概述 基本概念 决策树&#xff1a;从根节点开始一步步走到叶子节点&#xff0c;每一步都是决策过程 对于判断的先后顺序把控特别严格 一旦将判断顺序进行变化则最终的结果将可能发生改变 往往将分类效果较佳的判断条件放在前面&#xff0c;即先初略分在进行细节分…

linux开发板设置密码登录

1、设置终端界面登录 inittab ::sysinit:/etc/init.d/rcS #::respawn:-/bin/sh ttyAMA0::askfirst:/bin/login #::respawn:/sbin/getty -L ttyAMA0 115200 vt100 #::restart:/sbin/init2、登录名 passwd root:x:0:0:root:/:/bin/sh3、密码加密 shadow root:$6$ButLCrnulfU4g…

http cookie,tcp syncookie 和 tcp fastopen 杂谈

syncookie 和 fastopen 的应用场景不赘述。它们均使用了 cookie 机制&#xff0c;返回给 client&#xff0c;再由 client 带回来用作识别。 说到它们的具体实现时&#xff0c;只要涉及 “识别” 机制&#xff0c;很多人都默认该机制需要 “解码 cookie”&#xff0c;“以 key …

c 枚举与字符串对 的几个方法

c使用枚举与字符串对的几种方法&#xff0c;供参考。 一 enum name { Zero, One, Two } ; const char* name[] {"Zero", "One", "Two"};//遍历 int size sizeof(name)/ sizeof(name[0]); //或字符串数组后加个空指针。 const char** ptr ; …

中国联通云技术,有哪些产品

中国联通国际公司&#xff0c;作为中国联通集团对外拓展国际市场的重要窗口与平台&#xff0c;已在国际电信领域取得了显著成就&#xff0c;其产品线涵盖了从基础联接到云端服务的多个层面&#xff0c;旨在为全球用户提供一体化、端到端的高品质信息服务解决方案。 大联接产品…