二级缓存服务器异常事故记录

news/2025/3/6 19:47:43/文章来源:https://www.cnblogs.com/gaoshikenan/p/18753024

1、背景

项目有一张基础表查询量很大,开始了hibernate的二级缓存,使用外部服务器memcached单独存储。

中间件memcached服务需要做迁移。双主架构,一台迁移,另一台提供服务。迁移过程中有一个应用的一个节点连接不上memcached服务器。

2、经过

19:13-19:18,cpu使用率直线上升从7%-37%,数据库连接使用率从30%-65%,同时gc回收时间和次数也在直线飙升。

19:18-19:34,cpu使用率和gc情况保持不变,数据库连接使用率后期开始上升到85%。

19:35-20:00,数据库连接使用率达到100%,cpu使用率快速上升到100%。

20:00之后开始逐渐恢复正常。

 

 

 

3、分析

第一阶段(Memcached 失效,GC 时间、CPU、数据库连接数同步上升)

memcached失效后,所有原本命中缓存的数据都需要去查询数据库,数据库连接池使用率从30%上升到85%,说明请求量增加,但数据库还能勉强支撑。

二级缓存失效,Hibernate 每次查询都要创建大量对象,这些 短生命周期对象 进入 Eden 区(新生代),导致 Young GC 频繁触发。

第二阶段(数据库连接池耗尽,CPU 迅速飙升到 100%)

所有可用连接都被占满。新来的查询请求无法获得连接,只能等待,导致请求堆积。应用线程不断增加,CPU 迅速上升到 100%,此时线程过多瞪大数据库连接,会导致大量上下文切换。

此时cpu消耗主要集中在:

线程上下文切换(大量线程等待数据库连接)。

GC 进一步加剧(更多对象堆积,Full GC 开始触发)。

Memcached 连接重试异常处理(如果每次查询都尝试连接 Memcached,会导致额外的 CPU 消耗)。

参数正常交易开始受影响,出现交易报错问题。

第三阶段(恢复正常)

由于 Hibernate 二级缓存重新生效,大量查询 重新走缓存,数据库负载骤降。数据库连接池开始 释放连接,线程不再大量等待数据库查询。

 

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

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

相关文章

二代基因测序芯片(Flowcell)调研-不同厂家产品的键合工艺

厂家1: 美国Illumina Flowcell:芯片结构: 1、Random FC:代表型如Nextseq550,基板-中间层(Dupont TPI,炭黑浸渍或苯基叠氮修饰)-盖板,IR激光键合 2、Patterned FC:代表如Hiseq2000,基板-树脂纳米孔阵列-中间层(Dupont TPI)-树脂纳米孔阵列-盖板,IR激光键合 3、Tes…

Windows 提权-PrintNightmare

本文通过 Google 翻译 PrintNightmare – Windows Privilege Escalation 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校正及个别注释补充。导航0 前言 1 CVE-2021-34527 – PrintNightmare RCE(准 远程代码执行)1.1 远程枚举 Print Spooler 服务 1.2 行刑…

交换机POE供电简介

POE是什么 PoE(Power over Ethernet)是指通过网线传输电力的一种技术,借助现有以太网通过网线同时为IP终端设备(如:IP电话、AP、IP摄像头等)进行数据传输和供电。 PoE又被称为基于局域网的供电系统(Power over LAN,简称PoL)或有源以太网( Active Ethernet),有时也被简称…

【TongWeb】东方通部署

东方通企业版服务部署 一、东方通部署 1.下载东方通企业版(Linux)TongWeb7.0.4.9_M4_Enterprise_Linux.tar.gz2.解压tar -zxvf TongWeb7.0.4.9_M4_Enterprise_Linux.tar.gz -C /home mv /home/TongWeb7.0.4.9_M4_Enterprise_Linux/ /home/TongWeb3.将许可证重名名为license.d…

【第一章 透传策略】手把手教你玩转新版正点原子云

【第一章 透传策略】手把手教你玩转新版正点原子云 1. 本次实验使用正点原子D40 Mini 4G Cat1 DTU数传模块 1.1 D40数传模块资料 具体使用和资料下载可到:D40 Mini 4G Cat1 DTU数传 — 正点原子资料下载中心 1.0.0 文档 1.2 Mini DTU测试板资料 具体使用和资料下载可到:Mini …

记录---看完这篇文章,你也算是了解ai开发,对接过千帆大模型了。(超简单)

🧑‍💻 写在开头 点赞 + 收藏 === 学会🤣🤣🤣最近AI概念很火,我也在用。今儿实习的一位兄弟来问:他想对接一个"千帆大模型",但是以前没看过,文档太多了。很麻烦。 虽然官方也有文档,不过确实,那个文档比较适合工作一段时间以后的同学看,对新手不太友…

布隆过滤器简述【Guava实现】

简述:布隆过滤器是一种利用对象表示,通过插入自定义缓存判断对象是否存在、不存在的技术;举例,已Guava工具包中的布隆为例<dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId></dependency>在Guava工具包…

React18 01 工程化/组件化开发

如果通过yarn安装,则将package.lock.json与node_modules两个文件删除,用yarn重新安装。 vue脚手架搭建项目后默认安装vue在包中,而React不止至于react~打包命令browserslit的作用脚手架的进阶应用 如果操作eject命令,可以暴露配置项修改源码,但是是不可逆的操作,项目文件…

Dubformer 获 360 万美元融资,情感迁移技术革新 AI 配音;全球首款宠物智能手机亮相:可定位、AI 实时通话丨日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 技术 」、「有亮点的 产品 」、「有思考的 文章 」、「有态度的 观点 」、「有看点的 活动 」,但内容仅代表编辑…

[编程笔记] ant-design中ProLayout组件左侧菜单数据刷新问题

最近在做1个React项目,用的ant-design,由于以前没有学过React,最近几个月属于边学边干的状态了(0基础直接上手可还行)很坑的一个bug,setProcessedRoutes([processedRoutes]) 的时候,左侧菜单没有自动更新,问了下AI,在多个结果中,用setProcessedRoutes([...processedR…

三菱机器人示教器跳屏故障分析维修

跳屏故障原因分析三菱机器人示教器跳屏故障可能由以下原因导致: 电源故障:电源不稳定或电源线接触不良可能引起跳屏。信号干扰:工作环境中的电磁干扰,如大功率电器或高压线,可能导致跳屏。软件问题:示教器软件故障或版本不兼容可能导致跳屏。硬件故障:显示屏本身故障、排…

『Python底层原理』--异步机制(async/await)

在现代编程中,并发是提高程序效率的关键技术之一,它允许程序同时执行多个任务,充分利用系统资源。 本文将深入探讨 Python 中的async/await机制,从并发编程基础讲起,逐步剖析其工作原理和实现方式。 1. 并发编程基础 计算机程序的执行方式主要有两种:顺序执行和并发执行。…