数栈是云原生—站式数据中台PaaS,我们在github和gitee上有一个有趣的开源项目:FlinkX,FlinkX是一个基于Flink的批流统一的数据同步工具,既可以采集静态的数据,也可以采集实时变化的数据,是全域、异构、批流一体的数据同步引擎 。大家喜欢的话请给我们点个star!star!star!
github开源项目:
https://github.com/DTStack/flinkx
gitee开源项目:
https://gitee.com/dtstack_dev_0/flinkx
一、问题背景一天下午,大家都在忙着各自的事情,突然小组人员都同时收到了短信提醒,以为是公司发奖金了,很是开心,咋一看“某某客户服务器cpu使用率100%,请及时处理!”原来是告警短信,同时看到钉钉群里发出了大量的告警信息……
二、故障回顾告警提示”CPU使用率到达98%” ,打开阿里云控制台,通过云监控发现在下午15:06-16:46左右,云上机器某四台集群服务器cpu使用率波动较大(先降后升),负载过高,网络流量达到一定峰值就出现下降趋势,TCP连接数先是出现下降趋势,后面出现上升状态 。现象如下图:
文章插图
CPU先降后升使用率情况:使用率接近100%
文章插图
系统平均负载先升后降情况:load超过40
文章插图
网络流入流量:网络带宽流入流出先降后升
文章插图
TCP 连接数情况:先升后降
三、问题排查过程1) nginx 日志排查
查看nginx15:06-16:46时间段的日志发现请求订单接口响应时间较长,超过30s 。如下图:
文章插图
2) 查看fpm-php日志
查看fpm-php日志,在15:06-16:46这个时间段中,fpm-php子进程出现大量重启,如下图:
文章插图
同时,nginx错误日志中发现较多的502,504状态码,如下图:
Nginx 502 状态码:
文章插图
Nginx 504 状态码:
文章插图
3) 问题定位分析
a. 从fpm-php对应的日志里发现大量的fpm-php子进程重启,原因是每个子进程接受的请求数达到设定值 。
b. 在大量的fpm-php子进程重启过程中,如果有大量请求进来是无法响应的,所以Nginx收到大量的502、504报错 。
c. 同时在大量的fpm-php重启时会消耗大量的CPU load,PHP不接受业务请求、不转发数据,服务器流量直线下降 。
4) 处理结论
经过上述分析,最终定位确认是fpm-php子进程数配置太低,同时每个子进程接受的请求数max_requests设置太小 。无法应对每天的流量高峰 。
四、优化建议根据服务器的CPU/内存配置,适当增加children的数量和max_requests的请求数 。如下图,设置一个比较大的值 。
文章插图
五、优化效果1)增加fpm-php子进程数以及每个子进程接收的请求能减少php子进程大量重启频次;
2)可缓解业务高峰期对服务造成的压力,降低业务影响 。
以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!
「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助:- 服务器负载100%解决办法 服务器负载不兼容
- 服务器重置密码的方法 怎么修改服务器密码
- 女性婚后常见的异常心理
- 罗布泊为什么是禁区
- 京东卡怎么绑定京东app使用 京东卡异常绑定不了怎么回事
- linux修改hosts立即生效 hosts配置存在异常
- linux文件服务器搭建 nfs搭建步骤
- 流量攻击怎么防御:高防服务器如何防御DDoS流量攻击?
- 中通 快递单查询:快速查询邮政 EMS 中通 韵达 京东快递单号异常件 跟踪快递单号记录
- 中通物流单号查询:快速批量查询中通 圆通快递单号异常件 跟踪快递单号记录