系统稳定性概览

系统稳定性

系统稳定性,包括:监控、 告警、性能优化、慢sql、耗时接口等。
系统的稳定性的治理,可以围绕这几方面展开。

监控

Prometheus 监控并收集数据。监控 qps,tps, rt , cpu使用率,cpu load,gc次数 。。

Grafana从数据源(如Prometheus ) 获取数据并做可视化。

告警

阿里云告警、webhook推送告警、接口错误率告警、接口超时告警、错误日志告警。

QPS

QPS (Queries Per Second) 是每秒查询率 ,是一台服务器 每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内 所处理流量多少的衡量标准, 即每秒的响应请求数,也即是最大吞吐能力。

TPS

TPS Transactions Per Second 也就是事务数/秒。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。

cpu load average

平均负载(load average)是指某段时间内占用cpu时间的进程和等待cpu时间的进程数。
load 负载越高,系统的压力越大。

cpu使用率

cpu 使用率越高,系统压力越大。如果 cpu 使用率达到 100%,甚至服务有可能会重启。

RT(响应时间)

接口的 RT越小越好,说明响应时间快。

kafka消息队列

kafka消费延时告警。

对于要求低延时的业务,及时关注 kafka的消息堆积。

kafka做好消费者群组管理。

k8s( kubernetes )

k8s容器重启告警。k8s容器内存使用率告警。

磁盘容量管理

mysql磁盘、es磁盘、mongoDB 磁盘。

mysql 数据备份/ 清理

系统运行越久,产生的数据越多,
不经常用的冷数据,要及时备份。
无效的数据,要及时清理。
比如订单表,如果保存好几年前的订单,动辄上亿的数据,查询更新都会越来越慢。可以对不经常用的数据进行备份。
mysql 数据备份、 数据清理,要提前跟产品沟通,保留多少年,多少月的数据,避免影响业务。

redis内存管理

redis内存管理。设置redis缓存时,尽量加上过期时间。如果存在大量的永久key,会占用过多的redis内存空间。

及时清理无用的 redis缓存。

慢sql

慢sql会长时间占用 数据库连接数,如果项目中有大量的慢sql,那么可用的数据库连接数就会变少,进而会影响业务。

耗时接口

系统在同一时间,能处理的请求数量是有限的,高耗时接口会长时间占用请求数量,影响系统可用性。

高峰期的前一段时间,可以提前做接口压测。

链路追踪

skywalking 。微服务,通过traceId 链路追踪,分析在各个服务的耗时。

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

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

相关文章

网络运维的重要性

网络运维,简单来说,就是确保网络顺畅运行、问题及时解决的一系列工作。想象一下,我们每天上网看视频、刷社交媒体、办公沟通,这些都离不开背后复杂的网络系统。网络运维就像是网络世界的“维修工”和“交通警察”,他们…

Unity 自定义编辑器根据枚举值显示变量

public class Test : MonoBehaviour {[HideInInspector][Header("数量")][SerializeField]public int num;[Header("分布类型")][SerializeField]public DistributionType distType;[HideInInspector][Header("位置")][SerializeField]public Li…

无界延迟队列DelayQueue

一:介绍 DelayQueue是一个无界的BlockingQueue,用于放置实现了Delayed接口的对象,其中的对象只能在其到期时才能从队列中取走。这种队列是有序的,即队头对象的延迟到期时间最长。注意:不能将null元素放置到这种队列中。 二: DelayQueue基本原理 DelayQueue是一个没有边界…

jvm 触发GC的时机和条件

GC的种类 GC又分为 minor GC 和 Full GC (也称为 Major GC ) minor GC:轻GC Full GC(Major GC):重GC Major GC的速度一般会比Minor GC慢十倍以上 什么时候触发GC 程序调用System.gc时可以触发,也不是立即触发&#xf…

代码随想录算法训练营第十天|232.用栈实现队列、225. 用队列实现栈

232.用栈实现队列 题目链接:232. 用栈实现队列 文档讲解:代码随想录 状态:写出来 ,但差强人意 思路: 定义两个容器,可以是Stack,也可以是Deque,stackIn相当于临时容器,用来存放元素&…

使用Python源码py文件生成pyo文件

py文件生成pyo文件 对于Python 3.5及以上版本,可以使用如下命令: python -O -m compileall file.py注意事项 Windows平台下,此命令不会报错,但也不会生成pyo文件

git随记

git status 查看文件状态 git status -s 比较简洁的查看文件状态。如下代表此文件是新建的,没有被git跟踪的文件: $ git status -s ?? abc.txtgit add abc.txt 将abc添加到暂存区。后再次git status -s $ git status -s A abc.txtgit reset 将暂存…

嵌入式开发--stm32cubeprogrammer写入选项字节

需要在批量烧写时写入选项字节,操作如下: 在下载页面,勾选选项字节命令, 输入以下命令,后面的0xBB表示选项字节是bb,表示读保护,也可以按需要写其他的字符 -ob rdp0xBB在需要的功能前打上勾&a…

jetson xavier ubuntu20.04ros配置

1、ubuntu源配置 参考Jetson Xavier NX 配置ROS - 哔哩哔哩 Xavier 没法在 Software & Updates 界面中换源,需要手动配置 sources.list 源文件 x86 架构的源(后缀为 /ubuntu/)和 arm 架构的源(后缀为 /ubuntu-ports/&#…

知识图谱抽取实战

相关代码见文末 1.知识图谱应用场景 知识图谱是一种先进的数据组织形式,它通过图数据结构来表示实体(如人、地点、概念)及其之间的复杂关系,便于机器理解和处理。这种结构化知识库允许高效的信息检索、推理和知识发现,尤其适用于处理高度关联且需要深度理解的领域,如医学…

解决wireshark无法抓取mysql数据报文

我前几天在用wireshark抓取mysql协议,只能看到登录信息,完全看不到具体报文。显示如下: 找了多资料,我也没解决这问题。但用公司测试环境的数据库就能抓取到mysql数据报文,观察了下公司的数据库就只发现连接url上多了…

使用 Django Channels 构建实时聊天应用(包含用户认证和消息持久化)

文章目录 准备工作创建 Django 项目创建应用程序配置项目编写 Consumer编写路由创建 URL 路由运行应用用户认证消息持久化显示历史消息结论 Django Channels 是 Django 的一个扩展,允许在 Web 应用中添加实时功能,例如 Websockets、HTTP2 和其他协议。本…

oracle mysql索引区别

文章目录 1.引言1.1 索引的基本概念1.2 Oracle和MySQL的简介 2.Oracle索引2.1 Oracle索引的类型**B-Tree索引****Bitmap索引****Function-Based索引****Partitioned索引****Text索引** 2.2 Oracle索引的工作原理2.3 Oracle索引的实例代码 3.MySQL索引3.1 MySQL索引的类型**B-Tr…

【备忘】制作文件系统时探查开发系统上的依赖项

1.apt-get install类的安装包 这个列表能找到,但是项点太多了,必须进行机器比对,人工比对的话可以按最后安装日期来看: sudo cat /var/log/apt/history.log 我的最后安装的软件包: Start-Date: 2024-05-28 11:57:27 …

[PyQt5] 窗口接收WM_COPY消息

#本程序是python qt5 创建的窗口,拦截外部消息给窗口发送的WM_COPY消息并显示出来。一般是用来作为窗口之间的通讯机制之一。 python文件如下:qt5拦截消息 #!/usr/bin/env python3 # -*- coding: utf-8 -*- import sys from PyQt5.QtWidgets import QAp…

STM32-14-FSMC_LCD

STM32-01-认识单片机 STM32-02-基础知识 STM32-03-HAL库 STM32-04-时钟树 STM32-05-SYSTEM文件夹 STM32-06-GPIO STM32-07-外部中断 STM32-08-串口 STM32-09-IWDG和WWDG STM32-10-定时器 STM32-11-电容触摸按键 STM32-12-OLED模块 STM32-13-MPU 文章目录 1. 显示器分类2. LCD简…

掌握 NestJS 10.x:从零开始构建高效可扩展的服务器端应用详解

NestJS 是一个用于构建高效、可扩展的 Node.js 服务端应用的框架,基于 TypeScript 构建,并且受 Angular 的启发,提供了模块化、易测试、易维护的架构。NestJS 10.x 引入了一些新特性和改进,进一步提升了开发体验。本文将详细介绍如…

Vue:网络请求axios

Axios 是一个基于 Promise 的网络请求库。 安装 npm install axios引入 <script setup> import axios from axios </script>常用 API axios.get(url[, config]) axios.get(/user,{params: {id: 1234,} }) .then(response > console.log(response)) .catch(…

协方差和协方差矩阵是什么

协方差矩阵&#xff08;Covariance Matrix&#xff09;是一个矩阵&#xff0c;它包含多个随机变量之间的协方差。 协方差是衡量两个随机变量如何一起变化的度量。 协方差矩阵在多元统计分析和机器学习中非常重要&#xff0c;特别是在处理多元正态分布时。 详细解释 协方差&am…

生态融合促发展 YashanDB与丰图科技完成兼容性认证

近日&#xff0c;深圳计算科学研究院崖山数据库系统YashanDB V23与丰图科技智域城市数字孪生平台顺利完成兼容性互认证。经严格测试&#xff0c;双方产品完全兼容&#xff0c;稳定运行&#xff0c;充分满足企事业单位在高性能、高可用性、高稳定性及高可控性方面的核心需求&…