系统稳定性概览

系统稳定性

系统稳定性,包括:监控、 告警、性能优化、慢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 链路追踪,分析在各个服务的耗时。

posted on 2024-05-30 22:28  乐之者v  阅读(8)  评论(0编辑  收藏  举报

导航