前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数栈运维案例:客户生产服务器CPU负载异常处理

数栈运维案例:客户生产服务器CPU负载异常处理

作者头像
袋鼠云数栈
发布2021-05-14 15:15:20
6810
发布2021-05-14 15:15:20
举报
文章被收录于专栏:数栈技术分享

本文整理自:袋鼠云技术荟 | 某客户生产服务器CPU负载异常处理

一、问题背景

一天下午,大家都在忙着各自的事情,突然小组人员都同时收到了短信提醒,以为是公司发奖金了,很是开心,咋一看“某某客户服务器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)可缓解业务高峰期对服务造成的压力,降低业务影响。

六、写在最后

基于互联网在线化方式,袋鼠云为客户提供云上网络和资源规划、应用架构规划、性能优化、监控告警、系统健康检查、业务大促护航、云上安全运营等全方位的专业运维服务,保障客户业务系统在云上稳定运行。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/04/16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、问题背景
  • 二、故障回顾
  • 三、问题排查过程
  • 四、优化建议
  • 五、优化效果
  • 六、写在最后
相关产品与服务
短信
腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档