性能测试线上监控

如果你的产品出现了一个线上问题,你会是怎么样的反应?

也许会跟下面这张图一样。

哇!有一个线上bug,好慌呀!!

咦,问题似乎自动解决了?渐渐冷静。

不对!!!这个问题竟然突然自己就好了???更慌了!!!

很多测试同学应该有上面这样的心路历程。线上bug不经意间出现,却又突然消失无踪,这会让我们精神紧张,心里各种没底,寝食难安。

这时候可能就需要做一些线上监控和告警了。

其实我之前有分享过,监控可以分为3个层次。

  • 基础监控。线上机器的内存,cpu,硬盘,网卡等核心指标的监控和告警。
  • 服务监控。服务监控程度的监控,比如接口的调用成功率,相应时间,错误码分布等。
  • 业务监控。定义核心的业务指标,比如电商的核心指标就是订单数,对业务指标进行监控和告警,一旦业务指标有异常,立即告警。

基础监控和服务监控大家都比较好理解。这里稍微具体讲一下业务监控。

以电商的核心业务指标订单为例,假设我们通过各种方式计算出在每天下午2点的时候,大概一小时会有1万单,那么如果哪天下午2点左右订单数掉到5000了,那么可能是下单链路上某个环节出问题了,就需要立即排查。

另外业务监控也可以用自动化的方式辅助去做,这样监控的路径会更长一些,排查问题也能迅速一点。

还是以下单为例,我们可以在线上用一个特殊用户不停的买一些特殊商品(当然了,有影子库和特殊策略就更好了),如果下单流程失败,另外数据又监控到订单数环比确实有异常,那么就可以根据自动化用例的报错迅速定位到问题。

最近我们线上出了一次比较严重的事故,当然导致事故的核心原因是开发流程没有正确进行,不过没有线上监控而放肆裸奔也是求生欲不够强的表现,如果一些核心数据可以被监控和告警的话,我们可能在上线之后就能迅速定位到问题,而不会等到用户投诉再去处理了。

我们在线上监控很多时候都是通过阈值去感知变化的离散程度的,合理的阈值会让告警更加精准。不过由于一些突发性的原因,这些阈值可能会在短时间被突破,但是过完一个时间周期之后自动恢复正常,在这种情况下,为了减少误报,我们可能不仅要报异常情况,还要报问题自动恢复的情况。

关于监控工具,目前市面上有很多开源免费的监控工具,都非常好用,比如

  • prometheus。普罗米修斯,github star超30k,部署简单,功能强大,小白入坑无脑选择的最佳推荐;
  • open-falcon。小米开源的企业级监控平台,国内很多企业都在使用。高可用易扩展,可以分布式部署,自带dashboard,最关键的是有中文文档,英文拙计的同学可以试试;
​现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:485187702【暗号:csdn11】

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据结构:图文详解顺序表的各种操作(新增元素,查找元素,删除元素,给指定位置元素赋值)

目录 一.顺序表的概念 二.顺序表的实现 新增元素 默认尾部新增 指定位置添加元素 查找元素 查找是否存在 查找元素对应的位置 查找指定位置对应的元素 删除元素 获取顺序表长度 清空顺序表 一.顺序表的概念 在线性数据结构中,我们一般分为俩类&#xf…

2023.11.29 -hmzx电商平台建设项目 -核销主题阶段总结

目录 1.准备源数据 2.准备数仓工具进行源数据同步到ods层,本项目使用Datax 3.使用Datax完成数据同步前建表时的方案选择 3.1同步方式区别: 3.2存储格式和压缩区别: 4.在hive中创建表,共31个表 5.数仓概念 和 数仓建模方案 5.1数仓的基本概念 5.2 数仓建模方案 关系建模…

接口02-Java

接口02 一、接口与继承类1、引入2、总结(1)接口和继承解决的问题不同。(2)接口比继承更加灵活。(3)接口在一定程度上实现代码解耦。 二、接口的多态性1、多态参数① 回顾:继承中的多态② 接口的…

银河麒麟v10——植物大战僵尸原版——2023教程

1、原版安装包如下: 阿里云盘分享https://www.alipan.com/s/Qn5DpDKs2YT 2、麒麟信息: 3、安装命令: 注意:最后一步,需要先解压tar包,再切到PlantsVsZombies.exe所在目录下,再执行启动命令&a…

Linux C/C++高级全栈开发(后端/游戏/嵌入式/高性能网络/存储/基础架构)

Linux C/C高级全栈开发是一个涉及到多个领域的综合性技术要求,需要对Linux系统、C/C编程语言以及各种相关的技术进行深入的理解和应用。 下面是一些涵盖的主要技术领域和技能要点: Linux系统基础:熟悉Linux操作系统的原理和常用命令&#xf…

命名管道:简单案例实现

📟作者主页:慢热的陕西人 🌴专栏链接:Linux 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 本博客主要内容讲解了什么是命名管道,匿名管道和命名管道的…

咨询+低代码,强强联合为制造业客户赋能

内容来自演讲:沈毅 | 遨睿智库 | 董事长 & 王劭禹 | 橙木智能 | 联合创始人 摘要 文章主要讲述了智库董事长沈毅创办广告公司的经历,以及他在管理公司过程中遇到的问题和挑战,最后通过与明道云以及橙木智能联合创始人王邵禹老师的合作&…

java二十章多线程

概念 有很多工作是可以同时完成的,这种思想放在Java中被称为并发,并发完成每一件事被称为线程。 程序员可以在程序中执行多个线程,每一个线程完成一个功能//与其他线程并发执行,这种机制被称为多线程,并不算所有编程…

如何提高3D建模技能?

无论是制作影视动画还是视频游戏,提高3D建模技能对于你的工作都至关重要的。那么如何能创建出精美的3D模型呢?本文给大家一些3D建模技能方面的建议。 3D建模通过专门的软件完成,涉及制作三维对象。这项技能在视频游戏开发、建筑、动画和产品…

FFmpeg架构全面分析

一、简介 它的官网为:https://ffmpeg.org/,由Fabrice Bellard(法国著名程序员Born in 1972)于2000年发起创建的开源项目。该人是个牛人,在很多领域都有很大的贡献。 FFmpeg是多媒体领域的万能工具。只要涉及音视频领…

【Vulnhub 靶场】【DriftingBlues: 9 (final)】【简单】【20210509】

1、环境介绍 靶场介绍:https://www.vulnhub.com/entry/driftingblues-9-final,695/ 靶场下载:https://download.vulnhub.com/driftingblues/driftingblues9.ova 靶场难度:简单 发布日期:2021年05月09日 文件大小:738 …

达索系统SOLIDWORKS 2024工程图新功能

工程图概述 设计模型不仅能比绘制直线更快;SOLIDWORKS 从模型中生成工程图,模型的参数和几何关系在工程图中被保留,这样工程图可反映模型的设计意图;模型或工程图中的更改反映在其相关文件中,这样更改起来更容易&…

map文件解析

Map文件内容分为以下五段: 1)Section Cross References:模块、段(入口)交叉引用;(ASR编译生成的map文件没有输出该段信息) 2)Removing Unused input sections from the image:移除未使用的模块&#xff1…

【Linux】基础IO--文件基础知识/文件操作/文件描述符

文章目录 一、文件相关基础知识二、文件操作1.C语言文件操作2.操作系统文件操作2.1 比特位传递选项2.2 文件相关系统调用2.3 文件操作接口的使用 三、文件描述符fd1.什么是文件描述符2.文件描述符的分配规则 一、文件相关基础知识 我们对文件有如下的认识: 1.文件 …

java设计模式学习之【建造者模式】

文章目录 引言建造者模式简介定义与用途实现方式: 使用场景优势与劣势建造者模式在spring中的应用CD(光盘)的模拟示例UML 订单系统的模拟示例UML 代码地址 引言 建造者模式在创建复杂对象时展现出其强大的能力,特别是当这些对象需…

带大家做一个,易上手的家常炒鸡蛋

想做这道菜 先准备五个鸡蛋 然后将鸡蛋打到碗里面 然后 加小半勺盐 这个看个人喜好 放多少都没问题 不要太咸就好 将鸡蛋搅拌均匀 起锅烧油 油温热了之后 放三个干辣椒进去炒 干辣椒烧黑后 捞出来 味道就留在油里了 然后 倒入鸡蛋液 翻炒 注意翻炒 不要粘锅底 或者 一面糊…

嵌入式Linux:ARM驱动+QT应用+OpenCV人脸识别项目实现

一、前言: 这个项目主要分为两部分,客户端(ARM板端)负责利用OpenCV采集人脸数据,利用TCP将人脸数据发送给服务器,然后服务器根据人脸数据进行人脸识别,将识别后的结果返还给客户端,客…

【Linux】环境变量

文章目录 1. 环境变量的概念2. 常见的环境变量3. 查看环境变量的方法4. 测试PATH5. 和环境变量有关的命令6. 环境变量的组织方式7. 通过代码获取环境变量7.1 通过命令行的第三个参数7.2 通过第三方变量environ 8. 通过系统调用获取9. 环境变量的全局属性 1. 环境变量的概念 **…

函数指针数组指针数组传参的本质字符指针(进阶篇)

🚀 作者:阿辉不一般 🚀 你说呢:不服输的你,他们拿什么赢 🚀 专栏:爱上C语言 🚀作图工具:draw.io(免费开源的作图网站) 如果觉得文章对你有帮助的话,还请点赞…

【带头学C++】----- 八、C++面向对象编程 ---- 8.5 struct结构体类型增强使用说明

目录 8.5 struct结构体类型增强使用说明 8.5.1 C结构体可以定义成员函数 8.5.2 c中定义结构体变量可以不加struct关键字 8.6 bool布尔类型关键字 8.5 struct结构体类型增强使用说明 第六章对结构体的使用、内存对齐以及数组、深拷贝和浅拷贝进行了一个详细的说明&#xff0c…