性能测试-如何进行监控设计

监控设计步骤

首先,你要分析系统的架构。在知道架构中使用的组件之后,再针对每个组件进行监控。

其次,监控要有层次,要有步骤。先全局,后定向定量分析。

最后,通过分析全局、定向、分层的监控数据做分析,再根据分析的结果决定下一步要收集 什么信息,然后找到完整的证据链。

这才是监控应该有的步骤,才能体现监控的价值。

监控技术图谱

架构图

做性能监控之前,先画一个最简单的架构图,看一下架构中 各有什么组件,各有什么服务,将这些列下来,再找对应的监控手段和方式, 

需要监控的有:

1、服务器操作系统

2、nginx

3、redis

4、mysql

5、代码层级

6、测试结果 

7、tomcat

监控设计

1. 我们要对整个架构做分层。

2. 在每一个层级上列出要监控的计数器。 寻找相应的监控工具,实现对这些计数器的监控。如果一个工具做不到,在定位过程中 考虑补充工具。

3.  要做到对每层都不遗漏。

识别出每个监控的节点和层级,再对应到架构

最适合的监控方式是什么样的呢?那就是成本最低,监控范围最大,效率最快。 

不建议一开始就把代码级的监控给加进来

监控思路

全局监控设计

测试前就要有全局监控。

OS层

看linux架构图

常用的计数器

 DB层(mysql为例)

 定向监控

出现问题的时候,才用定向监控,定位问题的原因。

OS 层之定向监控细化 1

看到 CPU 消耗得多,那么你就得按照下面这张图细化思路

流程图

 

OS 层之定向监控细化 2

当你看到 OS 全局监控图中的 Network 中的 Total 总流量比较大时,就要有这样的分析思 路(从右向左看):

DB 层之定向监控细化 1

 DB 层之定向监控细化 2

锁数据,平均时间为 754ms 

分析产生锁的 SQL,看 SQL 的 Profiling 信息,再根据信息找下一步原因,最终给出解决 方案。

监控工具

如果要选择的话,肯定是用 Prometheus + Exporter 的思路会好一点。于是我们这样实现 全局的监控。

OS、DB、nginx、REDIS都能用 Prometheus + Exporter方式监控

tomcat

 如果是微服务架构,则需要监控服务状态,cluster,pod,微服务链路。

不管你的架构有多么复杂,组件有多少,这样的监控逻辑都是一定要有的。适 合的工具要用,并且尽量多用,但工具还远远替代不了分析的思维逻辑。没有判断的能力,再强悍的工具也只是个花架子。

总结

 对架构中的组件进行了分析之后,通过全局— 定向的思路列出要看的计数器,再通过相应的监控工具去实现,拿到要分析的数据。 这就完成了要做的监控设计和具体实施。 至于你是用什么工具去实现的,这并不重要,因为拿到监控数据,可供分析证据链最重要

本文来自高楼老师课程笔记。

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

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

相关文章

刘京城:我的《软件方法》学习经历(有彩蛋)

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 写在前面(潘加宇) 下面是刘京城写的关于他学习《软件方法》的经历。我在前面啰嗦几句。 我做软件建模方面的研究和普及工作已经24年了,和各行各业…

Springboot学习笔记——3

Springboot学习笔记——3 一、热部署1.1、手动启动热部署1.2、自动启动热部署1.3、热部署范围配置1.4、关闭热部署 二、配置高级2.1、第三方bean属性绑定2.2、松散绑定2.3、常用计量单位应用2.4、bean属性校验2.5、进制数据转换规则 三、测试3.1、加载测试专用属性3.2、加载测试…

TLR4-IN-C34-C2-COO,一种结合了TLR4抑制剂TLR4-IN-C34的连接器

TLR4-IN-C34-C2-COO是一种结合了TLR4抑制剂TLR4-IN-C34的连接器,在免疫调节中发挥重要作用,它通过抑制TLR4信号通路的传导,从而达到降低炎症反应的目的。TLR4是Toll样受体家族中的一员,它主要识别来自细菌和病毒的保守模式&#x…

红队专题-Cobalt strike4.5二次开发

红队专题 招募六边形战士队员IDEA 自动换行原版CS反编译破解jar包反编译拔掉暗桩初始环境效果 stageless beacon http通信协议 过程分析上线&心跳get请求teamserver 处理请求 参考链接 招募六边形战士队员 一起学习 代码审计、安全开发、web攻防、逆向等。。。 私信联系 …

vue:权限绑定菜单(全局引入,在template内用v-if调用)

登录成功后,将返回的权限保存到缓存 sessionStorage:浏览页面期间保存,关闭浏览器后丢掉数据 在utils内index.js内定义isAuth方法 在main.js内引入,并挂载全局 在vue页面内,在template内用v-if调用

一个好用的k8s代理工具——KtConnect

介绍 KtConnect实现了开发者本地运行的服务与Kubernetes集群中的服务之间的双向互通。 核心功能 本地直接访问Kubernetes集群内网 通过KtConnect可以直接连接Kubernetes集群内部网络,在不修改代码的情况下完成本地联调测试 本地解析Kubernetes服务内网域名 直…

大华银行与微软合作:用365 Copilot提升工作效率

微软在官网宣布与新加坡最大银行之一大华银行(United Overseas Bank,简称“UOB”)达成技术合作。大华银行将于今年10月份开始,为300名员工提供Microsoft 365 Copilot服务,以实现降本增效。 Microsoft 365 Copilot是微…

C++三大特性——继承(上篇)

文章目录 目录 一、继承的概念及定义 1.1继承的概念 1.2 继承定义 1.2.1定义格式 1.2.2继承关系和访问限定符 1.2.3继承基类成员访问方式的变化 二、基类和派生类对象赋值转换 三、继承中的作用域 四、派生类的默认成员函数 一、继承的概念及定义 1.1继承的概念 继承(inherita…

bin-editor-next实现josn序列化

线上链接 BIN-EDITOR-NEXThttps://wangbin3162.gitee.io/bin-editor-next/#/editor gitee地址bin-editor-next: ace-editor 的vue3升级版本https://gitee.com/wangbin3162/bin-editor-next#https://gitee.com/link?targethttps%3A%2F%2Funpkg.com%2Fbin-editor-next%2F 实现…

47 从前序与中序遍历序列构造二叉树

从前序与中序遍历序列构造二叉树 先序无法确定子树大小,中序找不到根;所以用先序找根,用中序找大小题解1 递归题解2 迭代 给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同…

Win11自定义目录安装Linux子系统wsl

1. 启用适用于 Linux 的 Windows 子系统和虚拟机功能 以管理员身份打开 PowerShell(“开始”菜单 >“PowerShell” >单击右键 >“以管理员身份运行”),然后依次输入执行以下命令: dism.exe /online /enable-feature /f…

vue3+ts项目04-国际化

yarn add vue-i18n yarn add js-cookie yarn add types/js-cookiesrc下新建i18n文件夹,该文件夹下新建lang和pages文件夹, lang文件夹下新建en.ts // 定义内容 export default {router: {home: home,system: {system: system,menu: systemMenu,role: sy…

Dremio:新一代数据湖仓引擎

Dremio数据湖引擎 1、什么是Dremio2、什么是数据湖仓2.1、数据湖仓的历史和演变 3、Dremio查询引擎(Dremio Sonar)3、Dremio特点1、唯一具有自助式SQL分析功能的数据湖仓2、数据完全开放,无锁定3、亚秒级性能,云数据仓库成本的1/1…

【JavaEE重点知识归纳】第7节:类和对象

目录 一:了解面向对象 1.什么是面向对象 2.面向对象和面向过程区分 二:类定义和使用 1.什么是类 2.练习:定义一个学生类 三:类的实例化 1.什么是实例化 2.类和对象的说明 四:认识this 1.为什么要有this引用…

国内就能使用的chatgpt网页版,包含AIGC应用工具

Chatgpt的出现在多个领域带来了重要的影响。它能够显著提高我们的工作效率,无论是编写文案代码还是回答常见问题,都能在短时间内完成任务。通过Chatgpt,我们能够迅速获取所需答案。随着人工智能技术的不断发展,相信在未来AI能够带…

elasticsearch 8.5.3问题记录

一:解决 elasticsearch 高版本 warning: ignoring JAVA_HOMEC:\Program Files\Java\jdk-11; using bundled JDK if defined JAVA_HOME (set JAVA_HOME%JAVA_HOME%; )示例版本Elasticsearch 8.5.3 可以与 JDK 11 兼容,但不支持 JDK 17。确保选…

Spring Boot中实现发送文本、带附件和HTML邮件

SpringBoot实现发送邮箱 引言 在现代应用程序中,电子邮件通常是不可或缺的一部分。在Spring Boot中,你可以轻松地实现发送不同类型的邮件,包括文本、带附件和HTML邮件。本博客将向你展示如何使用Spring Boot发送这些不同类型的电子邮件。 步…

详细解说iptables 高阶用法,用来完成哪些高效率网络路由策略场景,iptables 实现域名过滤,Linux如何利用iptables屏蔽某些域名?

详细解说iptables 高阶用法,用来完成哪些高效率网络路由策略场景,iptables 实现域名过滤,Linux如何利用iptables屏蔽某些域名? Linux利用iptables屏蔽某些域名 以下规则是屏蔽以 youtube.com 为主的所有一级 二级 三级等域名。 iptables -A OUTPUT -m string --string &qu…

unocss+vite+vue3初使unocss

一、什么是UnoCss? UnoCSS 是一个即时的原子CSS引擎,而非一款框架,因为它并未提供核心工具类,所有功能可以通过预设和内联配置提供。它可以让你用简短的类名来控制元素的样式 原子样式也有很多选择,最著名的就是 Tail…

019 基于Spring Boot的教务管理系统、学生管理系统、课表查询系统

基于Spring Boot的教务管理系统、学生管理系统、课表查询系统 一、系统介绍 本作品主要实现了一个课表查询系统,采用了SSM(Spring SpringMVC MyBatis)的基础架构。 二、使用技术 spring-bootspring-MVCthymeleafmybatis-plusdruidLombo…