记一次线上问题引发的对 Mysql 锁机制分析

背景最近双十一开门红期间组内出现了一次因 Mysql 死锁导致的线上问题,当时从监控可以看到数据库活跃连接数飙升,导致应用层数据库连接池被打满,后续所有请求都因获取不到连接而失败整体业务代码精简逻辑如下:@Transactionpublic void service(Integer id) { delete(id); insert(id);} 数据库实例监控: 当时通过分析上游问题流量限流解决...

记一次 .NET 某券商论坛系统 卡死分析

一:背景1. 讲故事前几个月有位朋友找到我,说他们的的web程序没有响应了,而且监控发现线程数特别高,内存也特别大,让我帮忙看一下怎么回事,现在回过头来几经波折,回味价值太浓了。二:程序到底经历了什么1. 在线程上找原因这个程序内存高,线程高,无响应,尼玛是一个复合态问题,那怎么入手呢?按经验推测,大概率是由于高线程数引发的,相信大家都知道每个线程都有自己的栈空间,所以众人拾柴火焰高,可以用 ...

记一次因为共享变量的犯错误

下面由golang教程栏目给大家记一次因为共享变量的犯错误,希望对需要的朋友有所帮助!问题复现在models/User.phpvar UserModel = new (User)登录后复制控制器 if models.UserModel.Token == "" { models.UserModel.Token = "hello world" }登录后复制因为 var UserModel = new (U...

记一次 nginx 504 Gateway Time-out - Youn丶

今天程序在执行一项excel导出任务的时候 出现了nginx超时的提示 nginx 504 Gateway Time-out排查过程:查看该任务 发现内容是一个数据量20000条信息 每条信息有50个字段 在执行导出为excel的时候 出现了该问题执行时间大概在10分钟左右就出现超时分析:Nginx 504 Gateway Time-out的含义是所请求的网关没有请求到,简单来说就是没有请求...

记一次 .NET某报关系统 非托管泄露分析

一:背景1. 讲故事前段时间有位朋友找到我,说他的程序内存会出现暴涨,让我看下是怎么事情?而且还告诉我是在 Linux 环境下,说实话在Linux上分析.NET程序难度会很大,难度大的原因在于Linux上的各种开源工具主要是针对 C/C++, 和 .NET 一毛钱关系都没有,说到底微软在 Linux 上的调试领域支持度还远远不够。虽然知道分析起来难度可能会很大,但该分析还是要分析的,让朋友抓一个 ...

记一次图片压缩引发的生产问题

省流: 死循环导致没有commit(提交事务),transaction一直没有结束。 正文: 调用接口报错: jdbc报错: MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction com.mysql.cj.jdbc.exceptions.MySQLTransactionRollb...

记一次因为C#官方扩展导致自动补全出错的情况 (C# & Godot)

现象最近使用Vscode结合Godot使用时突然发现自动补全出问题了,发现一部分自动补全能弹出补全项目,但是确认后不起作用,还会吞掉弹出自动补全后输入的字符。大概是下图这样的感觉(截图时已修好,图为演示摆拍) 线索找了很多办法,有一瞬间我突然发现C#官方扩展的评论区在短期内有很多负面评价。因此有理由猜测问题出在C#官方扩展。 根据评论区,我了解到很多人回溯版本后便可继续工作了,于是我进行了尝试,发...

记一次 .NET某医疗器械清洗系统 卡死分析

一:背景 1. 讲故事 前段时间协助训练营里的一位朋友分析了一个程序卡死的问题,回过头来看这个案例比较经典,这篇稍微整理一下供后来者少踩坑吧。 二:WinDbg 分析 1. 为什么会卡死 因为是窗体程序,理所当然就是看主线程此时正在做什么? 可以用 ~0s ; k 看一下便知。 0:000> k # ChildEBP RetAddr 00 00aff168 75e3bb0a win32u!NtUserP...

记一次公司内部技术分享—DDD

前言笔者于2021年入职了杭州一家做水务系统的公司,按照部门经理要求,新人需要做一次个人分享(主题随意)。 当时笔者对DDD充满了浓厚的兴趣,之前也牛刀小试过,于是就决定班门弄斧Show一下。后来在公司的新项目中,笔者也是大胆启用了DDD,带领团队和DDD来了一场亲密拥抱。尽管该项目最后被无情抛弃,笔者却未留下任何遗憾。今天拿来记录,权当是本人对DDD的一次追忆吧!正题领域驱动设计(Domain ...

【现网】记一次并发冲突导致流量放大的生产问题

事故现象生产环境,转账相关请求失败量暴增。直接原因现网多个重试请求同时到达 svr,导致内存数据库大量返回时间戳冲突。业务方收到时间戳冲突,自动进行业务重试,服务内部也存在重试,导致流量放大。转账首先我们一起了解一下转账。转账请求在支付场景中的应用频率非常高,它是现代金融系统中的一个核心功能。在日常生活中,个人和企业都需要进行各种不同类型的转账: 个人间转账:朋友、家人之间进行的转账,如还款、...
© 2024 LMLPHP 关于我们 联系我们 友情链接 耗时0.004534(s)
2024-04-23 17:47:03 1713865623