首页 > 其他分享 >【BUG解决】服务器没报警但是应用接口崩了....

【BUG解决】服务器没报警但是应用接口崩了....

时间:2023-11-14 12:32:53浏览次数:36  
标签:调用 系统 报警 .... 接口 线程 服务器 BUG


最近遇到一个突发问题:服务器没报警但是应用接口崩了…

为其他业务系统提供一个接口,平时好好的,突然就嚷嚷反馈说访问不了了,吓得我赶紧跳起来!

【BUG解决】服务器没报警但是应用接口崩了...._bug


正常情况下在系统崩溃前,我会收到很多系统报警,但是这次它悄无声息的出问题,还是挺恐怖的

然后我立马看了下服务器的情况,服务器没有报警,也可以ping通,就是服务接口确实访问不了了
然后,还给我竖了个中指。。。。

好好好,现在都是这么折磨打工人的是吧。

【BUG解决】服务器没报警但是应用接口崩了...._线程池_02

【BUG解决】服务器没报警但是应用接口崩了...._服务器_03

随后我又看了下数据库的使用率,也没打满

【BUG解决】服务器没报警但是应用接口崩了...._运维_04

然后随即查看对外提供接口的性能监控情况:除了9点15那会有点慢,其他一切正常,而且这个接口本身调用量不高的,系统完全可以hold住,为什么还是有问题?

于是怀疑是不是9点15那会接口慢了导致的。询问调用方之后,说超时连接时间设置的是5s。那这个接口完全可以在5s内返回。

【BUG解决】服务器没报警但是应用接口崩了...._bug_05


【BUG解决】服务器没报警但是应用接口崩了...._bug_06


随后我又找调用方拿到了这个日志信息:

RPC框架抛出异常cause: java.util.concurrent.RejectedExecutionException: Biz thread pool of provider has bean exhausted 它的意思是说线程池已经耗尽了,所以导致系统异常了。

目前系统最大设置的线程数量是300,我将配置提升到400,

随后对日志中这个关键词:Biz thread pool of provider has bean exhausted 做监控,之前都是系统CPU、TCP连接、内存、磁盘、以及方法调用时长以及可用率的报警,但是这些报警配置,没办法监控到此情况的发生。于是当系统报线程池满了之后,就需要赶紧调整下配置。

当然线程池的最大线程数也不是能无限增加的,这取决于系统负载能力。最大线程数越大,系统负载也会增大,数据库压力也会越大,如果慢sql较多,很可能数据库马上cpu就打满了,所以关键还是要从代码层面,解决一些长链接的慢sql,长事物。

具体可以参考下这篇:线程池队列已满时会发生什么?如何解决这个问题?
希望我的悲惨经历能给其他人排查问题带来一点思路吧…

【BUG解决】服务器没报警但是应用接口崩了...._服务器_07


标签:调用,系统,报警,....,接口,线程,服务器,BUG
From: https://blog.51cto.com/u_15301254/8366012

相关文章

  • Linux服务器日志过大有什么影响?如何应对?
    在Linux系统中,如果日志文件过大的话,就会出现各种各样的问题,比如查看内容变得困难和缓慢、占用过多的磁盘空间等,那么Linux服务器日志过大怎么办?以下是详细内容介绍。1、日志文件太大的影响当日志文件过大时,会产生以下几个问题:①占用过多的磁盘空间:大量的日志数据占......
  • 锦城 Week0 Blog 对拍 Debug 复杂度
    Blog我们在学习的时候,需要些一些笔记,把所学记录和整理下来,作为计算机专业的学生,不太可能用纸笔来记笔记,所以我们需要写博客(Blog)众多大佬都有自己的博客美团技术团队Martian148的博客写博客可以帮助我们更好的吸收,消化知识,把自己所学的东西用简单的话语讲出来(费曼学习法)......
  • SSH连服务器时,连接不上,出现以下错误的原因与解决办法
    https://blog.csdn.net/zhoupenghui168/article/details/124165270?ops_request_misc=&request_id=&biz_id=102&utm_term=ps%20-e%20%7C%20grep%20ssh%E6%B2%A1%E5%8F%8D%E5%BA%94&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~d......
  • 如何能实现不同服务器之间的文件实时同步?
    数字化时代,数据已经成为企业的重要资产,其中文件共享是企业运行中的重要业务场景。由于办公文件可能存在不同服务器甚至不同的城市之间,企业文件的实时同步是很多中大型企业急需解决的问题,为了不耽误业务的运行,甚至出现过跨城送硬盘来保证文件的一致性和安全性。目前国内市场上的文......
  • AJAX发送请求到服务器获取信息和状态码到前端浏览器------前端
    AJAX在浏览器当中发送异步请求,请求之间是独立的,谁也不用等谁类似于多线程并发,不会出现页面清空然后展示新的页面的效果实现局部刷新(靠多种技术一起做到的,而不是一个技术叫ajax)它是异步的(类似于多线程)在AJAX的请求以及响应中完全依靠的是XMLHttpRequest对象XMLHttpRequ......
  • 实现高效服务器管理的关键技巧和方法是什么?
    高效的服务器管理对于保持系统稳定运行和最大化资源利用至关重要。以下是一些关键技巧和方法:1.自动化管理:自动化工具:使用自动化工具来执行重复性任务,例如自动备份、系统更新和配置管理,以减少手动操作的需求。2.监控和警报系统:实时监控:通过监控软件持续追踪服务器的性能、健康状态......
  • 服务器变动后 vscode远程连接失败
    参考:https://developer.huawei.com/consumer/cn/forum/topic/0203853369117070036删除C:\Users{用户}.ssh\known_hosts下的对应远程机器信息哪个服务器变动就把那一行删除,保存文件,在vscode中重新连接即可。......
  • 客户端首屏渲染时首先拿到空的html模板,之后继续发起数据请求。而服务器端渲染只需要请
    客户端首屏渲染时首先拿到空的html模板,之后继续发起数据请求。而服务器端渲染只需要请求一次,服务器会将请求的数据放在html模板中一起返回。服务器端渲染耗费流量,局部页面的变化也需要重新请求完整的页面客户端渲染就可以采用SPA,能实现局部组件的更新,服务器端渲染回来的就是整个......
  • 如何让Excel文件和网站服务器交互呢?
    要实现Excel文件和网站服务器的交互,有几种常见的解决方案,包括:使用Excel插件:你可以使用一些Excel插件来实现Excel文件与网站的交互。这些插件可以使Excel文件具备与网站进行数据交换的能力。例如,你可以使用PowerQuery插件来连接Excel和网站的API,实现数据的导入和导出。将Excel转换......
  • Spartacus 服务器端渲染(SSR)的 timeout 设置
    如下图所示,SpartacusSSRengine的几种timeout超时机制的设置:其中第122行的3_000写法,意思就是默认的3000毫秒超时时间。在官网能看到对于这些timeout字段的说明:timeout的设置是一个数字,指示SSR服务器在回退到CSR默认的渲染机制之前,尝试呈现页面的时间量(以毫秒......