作者:阿 龙

袋鼠云高级运维工程师

多年应用运维/管理经验,擅长中间件调优、devops运维;参与主导互联网医疗、金融等多领域运维工作,曾独立负责多家企业上云及云上运维工作,保障客户业务稳定运行。

问题背景

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

写在最后

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

如果您还想进一步了解云上运维服务,欢迎联系袋鼠云。

袋鼠云技术荟 | 某客户生产服务器CPU负载异常处理相关推荐

  1. 线上服务器CPU负载过高的问题解决过程

    线上服务器CPU负载过高的问题解决过程 一.找到CPU占用过高进程 执行top命令,发现PID为12443的Java进程占用CPU高达350%,出现故障. 二.定位具体线程或代码 找到该进程后,接下来 ...

  2. 腾讯云8核16G18M轻量服务器CPU带宽流量性能测评

    腾讯云轻量应用服务器8核16G18M带宽,18M公网带宽下载速度峰值可达2304KB/秒,相当于2.25M/s,系统盘为270GB SSD盘,3500GB月流量,折合每天116GB流量.腾讯云百科分享 ...

  3. 记录一次服务器CPU负载高,利用率正常的处理方法

    背景: 在一次查看服务器监控的时候偶然发现其中一台服务器的CPU负载很高,但是CPU利用率基本没有,通过top命令完全看不出来问题所在,经过一些思路的排查发现了原因并处理,现记录下来. 现象: top ...

  4. window服务器cpu过高的排查_生产服务器CPU占用率过高排查过程

    一.问题详情 现象:API接口访问耗时过长,排查发现当前节点内存使用3.9G,CPU占用率295%. 当前节点已两周没发版,怀疑内存没有释放,可能是JVM垃圾回收的问题. 二.排查过程 1.定位问题进 ...

  5. linux超过cpu负载重启脚本,linux下Web服务器CPU负载超过阀值自动重启脚本

    说明: 操作系统:CentOS web服务器:apache 问题: 搜索引擎的爬虫导致网站在某一段时间内访问量剧增,服务器压力过大,网站访问超时.页面无法打开. 解决办法: 定时监控服务器负载,超过一 ...

  6. 线程死锁 导致 服务器cpu负载过高

    1.可以用jstack命令可以来发现死锁问题. 2.可以用jdk中自带jconsole工具来检测死锁. jvm内存溢出和线程死锁也可以通过jdk自带visualVm工具进行检测

  7. Java项目引起服务器cpu负载过高排查

    top命令 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 18057 root 20 0 8635812 2.697g 15040 S 3 ...

  8. 袋鼠云陈吉平:深耕国产自研数字化技术与服务,持续为客户创造价值

    在经济面临下行压力.疫情反复等不确定因素之下,推动数字化转型就成为了许多企业的"救命稻草".然而,较高的数字化转型门槛.不成系统的数据服务,以及缺乏规范的行业标准等都成了企业数字化 ...

  9. 数据智能公司袋鼠云完成 6000 万元 A 轮融资

    9月3日消息,据相关媒体报道,数据智能公司 袋鼠云宣布完成6000 万人民币A 轮融资,本轮融资由戈壁创投领投,上一轮投资方元璟资本跟投. 据悉,本轮融资主要用于数据智能产品研发.高端人才引进.培养, ...

最新文章

  1. 【转载】springboot:如何优雅的使用mybatis
  2. Kali linux 2016.2(Rolling)里Metasploit的OpenVAS
  3. 详解linux系统的启动过程及系统初始化
  4. 二叉树层序遍历递归与非递归_总结归纳:二叉树遍历【递归 amp;amp; 非递归】...
  5. 卓金武《MATLAB在数学建模中的应用》 第2版
  6. 整型和浮点型的区别_C的基础内容:常量之数值型常量,适合新手的学习
  7. LVS的三种负载均衡以及高可用原理(VS/NAT、VS/TUN、VS/DR)
  8. CodeForces - 1437G Death DBMS(AC自动机fail树上树链剖分建线段树/暴跳fail)
  9. PartialView 加载Js
  10. 地址栏 输入 参数 刷新参数丢失_小米11 Pro屏幕参数曝光:2K屏幕+120Hz刷新率
  11. 随着2018世界杯足球赛,有几个产品或APP的知名度大增
  12. linux ping mtu值,ping 包长度及 MTU
  13. LCD驱动芯片/LCD段式液晶显示驱动芯片-VK0192M/VK0256/B/C技术资料简介
  14. 关于使用火车采集器采集分页URL不变化网站
  15. B站哔哩哔哩视频一键下载,这个视频下载工具太给力了
  16. 顶级程序员书单系列二:《编码-隐匿在计算机软硬件背后的语言》
  17. Lab1 Packet Sniffing and Spoofing Lab
  18. 跟我读论文系列之XGBoost
  19. 听说CDN高防和高防IP是服务器安全的“翘楚”,那么你知道这二者的区别吗?
  20. 无人机的分类(史上最全的无人机分类方法)

热门文章

  1. 《Arduino实验》实验:ESP8266连接WiFi并连接贝壳物联平台
  2. cesium-加载3dTiles
  3. android 通讯录 实现
  4. 关于存储的认识(RAM<SRAM、DRAM、SDRAM> ROM <PROM、EPROM、EEPROM> FLASH<NOR、NAND>)
  5. python入门(五)实现统计《哈姆雷特》最多单词和《三国演义》人物出场次数
  6. crazygames一个神奇的网站
  7. 01熵与热力学重要模型
  8. java+天地图,天地图开发之Android-天地图显示
  9. 家里光猫用管理员权限登录
  10. 【整理】写给java web一年左右工作经验的人