gpt4 book ai didi

线上问题排查——接口长时间未响应

转载 作者:撒哈拉 更新时间:2024-08-20 11:04:11 63 4
gpt4 key购买 nike

刚看到鱼皮的文章,一下午连续故障两次,谁把我们接口堵死了?!,想起之前刚进公司时遇到了一个类似问题 。

线上接口访问不通,超时等待,但是看后台日志是正常运行的,进服务器看监控,CPU 占用100%,经典面试题了 使用jsp -l 和 jstack <进程PID> > stack.txt,保存案发现场,立马就发现问题 。

大量的线程在等待本地方法执行完成,经过了解 。

  1. 这是一段 C 语言编写的 RSA 加密算法,由于Java RSA 加密出来的数据 与 嵌入式解密数据不一致,因此加解密统一采用 C,使用本地方法调用
  2. 嵌入式通过蓝牙透传到后端,再透传到这个加密算法中,加密后将加密串传回给嵌入式比对数据
  3. 每次调用该方法,CPU 飙升至 20%,当前 CPU 几乎达到 100%,并且算法中不存在死锁问题
  4. 工厂短时间内高频调用该方法

综上,这是由于短时间内频繁调用计算密集型逻辑,CPU 计算、调度不过来导致的,需要在入口做限流措施,并且前端在连续调用时等待 一文看懂流量控制 一文了解限流策略的原理与实现 。

由于老板催的比较紧,并且所在项目是单体,并发量并不高,也没有接入 Redis,可容忍接口响应时间稍长,直接使用对象锁实现,还可以使用 AtomicInteger 做限制 。

ps:后续考虑编写网关项目,对入口流量统一控制 。

这是一段防爬代码块,我不介意文章被爬取,但请注明出处
console.log("作者主页:https://www.cnblogs.com/Go-Solo");
console.log("原文地址:https://www.cnblogs.com/Go-Solo/p/18368790");

最后此篇关于线上问题排查——接口长时间未响应的文章就讲到这里了,如果你想了解更多关于线上问题排查——接口长时间未响应的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

63 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com