两台负载均衡的ECS服务器相继宕机原因排查

两台负载均衡的ECS服务器相继宕机原因排查

事故发生在今天中午业务高峰期过后,两台负载均衡的服务器前后2分钟都宕机了。

为什么两台机器会同时宕机呢?猜测可能的原因:

  1. 来自外部攻击
  2. 业务系统某功能编写不合理,访问数据量过大
  3. 数据库访问连接过多,造成系统无法响应

先排查第一个原因,查看ARMS,有很多对 /hwmarket/api/storeApi 的 POST 请求,而且就在故障前几秒钟,还有大量的这个请求。

查看两台服务器在发生事故时,CPU都达到了95%以上,内存曲线变化不大,ECS连接数也没有明显增加。

查看Tomcat访问日志,2台机器的 localhost_access_log 日志,两台机器在发生故障时都无法没有请求进来了

虽然请求数量多,连接数并没有突增,因此不太像造成宕机的原因。

接着排查第二个原因,查看业务日志,发现其中一个api中存在每隔3秒钟一次的交易记录查询,这个大概是前端业务逻辑的问题,频率也不高,不太可能造成2台机器同时宕机啊

排查第三个原因,查看了数据库的各项指标,都正常的,没有明显波动。

冥思苦想,不知道问题出在哪里,这个时候在查看调用链时,以外发现 GC 回收有异常

此时再去看 JVM监控,发现一台机器的 Full GC 达到了 432 次,耗时 7.8 min;另外一台 Full GC 达到了 26 次,耗时 39.8 s。

这应该就是导致CPU过高的主因了。

但是为什么会有这么多次的内存回收呢?原因时两天前ECS做了降配,由原来的4核8GB,降到了2核4GB。内存不够用,导致了频繁的内存回收。

以后在降配后要多关注服务器的日常运行指标数据,做到及早发现和处理。

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值